一、eclipse中的.project 和 .classpath文件的具体作用
.project是项目文件,项目的结构都在其中定义,比如lib的位置,src的位置,classes的位置
.classpath的位置定义了你这个项目在编译时所使用的$CLASSPATH
这些文件你用文本编辑器就能察看了
在一个项目中点刷新的目的是为了更新.project文件中的文件清单,让你把不通过eclipse提交到项目的文件显示出来
.classpath 文件
从数据上我们容易看出,上面描述了工程的依赖文件:
- 源文件的具体位置(kind="src")
- 运行的系统环境(kind="con")
- 工程的library的具体位置信息(kind="lib")
- 在每个lib的xml子节点中,有关于它的其它配置信息(例如我配置的那个"javadoc_location")
- 项目的输出目录(kind="output")
总体上说这个文件就是配置整个工程的运行环境。
.project 文件
从数据上看,我们可以了解到这些配置主要是描述工程的基本信息:
- 工程名<name></name>
- 工程注释描述<comment></comment>
- 运行时需要的额外Eclipse插件<natures></natures>,及其具体加载方式信息<buildSpec></buildSpec>
如果你在开发过程中向工程里面加入了很多额外的插件,则必然会导致你的Eclipse启动速度变慢。在这种情况下,你可以到这个文件里面去掉一些插件,不过这样一来你在开启那些关联文件的时候会加载那些插件。
.settings 文件
里面存放各种插件的配置文件。
以上是简单介绍了Eclipse的Project相关的隐藏配置文件.
二、Maven工程classpath文件说明:
[一]、第一种情况
mvn archetype:create –> mvn eclipse:eclipse –> eclipse import 选择已存在的Maven project 导入成功以后,eclipse 会自动把classpath中定义的所有的 jar 合并成 Maven Dependencies 下面,如下图:
[二]、第二种情况
mvn archetype:create –> eclipse import 选择已存在的Maven project 导入成功以后,然后在项目的根目录下执行命令:mvn eclipse:eclipse ,再刷新eclipse中的工程,lib文件如下图:
ps:如果顺序和第一种情况相同:mvn archetype:create –> mvn eclipse:eclipse –> eclipse import 选择已存在的Eclipse project ,那么导入成功后lib文件也如上图所示,不会合并为Maven Dependencies ,如果lib文件比较多,项目看起来不方便。
这种情况下只要修改.classpath中的配置信息:把所有lib文件的配置去掉,添加如下信息即可:
<classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER">
<attributes>
<attribute name="maven.pomderived" value="true"/>
<attribute name="org.eclipse.jst.component.dependency" value="/WEB-INF/lib"/>
</attributes>
</classpathentry>