maven工程和普通工程的区别

六六 TOP1 1193

maven工程和普通工程的区别:1:创建方式不同;2:目录结构稍有不同;3. 3:Pom文件添加依赖信息,需要那个jar包的时候 ,加入哪个jar包的依赖,要不然无法使用这个jar里面的class。

一、简单的J2SE工程目录结构

  首先,Mac中,一个默认的Eclipse工程的目录结构:

MyProject:工程的名字

src:一个源文件文件夹

com.jd.MyProject:一个包。一般是倒写的域名保证其独一无二性。

Main.java:一个java文件。

看上去就这么多?其实不是的,在mac环境下,一般时候Eclipse左边的目录是Package Explorer,也是是如上图显示的内容。但是其实可以用另外一个显示其真正的目录,也就是包含一些隐藏文件。叫Navigator(事实上Package Explorer默认隐藏Linux系统下的以.开头的隐藏文件,所以看不见,而Navigator默认打开)。

二、为什么Eclipse能认出来这些

  那么除了这些之外,其实还有值得探究的部分:

为什么Eclipse能识别出这个一个Maven工程?

Eclipse怎么识别Source Folder?

  这些问题可以提出很多,其实本质上都是:Eclipse是一个集成开发环境,而Maven是一种项目管理及自动构建工具(维基百科),Eclipse没有责任去“识别”Maven。这句话乍一听感觉和直觉不相符合:明明新建工程的时候选择新建一个Maven工程,Eclipse就知道这是一个Maven工程啊?明明导入一个Maven工程,Eclipse就能正确识别打开啊?

其实是Eclipse帮我们做了很多。所以问题的答案是:Eclipse是通过配置文件来“认知”一个工程的。而这些配置文件,都是一些隐藏文件。你新建一个Maven工程,其实是按照模板写好了这些配置文件,所以Eclipse才能读出来这个工程的相关信息。

这个比较重要,因为这个文件直接控制了一个工程的目录结构。kind属性为src,表示这个文件夹是放源码的文件夹,物理位置在/src。也就是我们看到的那个文件夹。

kind属性为con,也就是config,里面控制的是这个工程的JVM,JDK,等等信息,一把来说我们不需要的修改。kind属性为output,说明了编译后产生的class文件放在物理地址:/bin里面。

看到这个文件的配置,我们就知道前面为什么工程的目录安排是那样的了,换句话说,正是这个文件的配置,工程才体现那样的目录。再进一步说,如果你在这个文件里面按照你的想法配置,那么你保存之后,项目的目录结构会自动变成你安排的那样。


最后,推荐我们的管理工具给大家。

回复

我来回复
  • 暂无回复内容

注册PingCode 在线客服
站长微信
站长微信
电话联系

400-800-1024

工作日9:30-21:00在线

分享本页
返回顶部