我们最终发现,
.classpath
Eclipse文件与团队中项目正常的成员不同。我们使用一个项目中正常的 .classpath
文件替换了它,然后Tomcat部署就完成了。出于好奇心和想知道如果有什么问题,以后要寻找什么,请问在
.classpath
和 .project
文件中包含了什么内容?我能添加什么内容,这些内容都表示什么意思?.classpath
Eclipse文件与团队中项目正常的成员不同。我们使用一个项目中正常的 .classpath
文件替换了它,然后Tomcat部署就完成了。.classpath
和 .project
文件中包含了什么内容?我能添加什么内容,这些内容都表示什么意思?Eclipse是一个插件的运行环境。几乎在Eclipse中看到的所有内容都是由安装在Eclipse上的插件所产生的,而不是Eclipse本身。
.project
文件由核心Eclipse平台维护,其目标是从通用、与插件无关的Eclipse视图描述项目。项目名称是什么?它引用工作区中的其他项目吗?构建项目使用了哪些构建器?(记住,“构建”的概念不仅适用于Java项目,也适用于其他类型的项目)
.classpath
文件由Eclipse的JDT功能(功能 = 插件集)维护。JDT在项目中保存多个这样的“元”文件(请参见项目内的.settings
目录);.classpath
文件只是其中之一。具体而言,.classpath
文件包含JDT功能需要的信息,以便正确编译项目:项目的源文件夹(即要编译的部分),输出文件夹(编译到哪里)和类路径条目(例如工作区中的其他项目、文件系统上的任意JAR文件等)。
盲目地将这些文件从一台计算机复制到另一台计算机可能是有风险的。例如,如果在类路径上放置任意JAR文件(即在工作区之外的位置引用的JAR文件),则会使.classpath
文件不可移植,并且必须修改才能实现可移植性。有一些最佳实践可以遵循,以保证.classpath
文件的可移植性。
git
和 Maven
管理我的项目,也就是说,我有一个仓库(项目)的“根”文件夹,其中包含一个单独的 src
文件夹(保存一个简单的“hello world”.java
文件)和项目的 pox.xml
文件。所以,如果我正确理解了你的话,没有必要(甚至可能没有必要)在 git
仓库中保留 .project
、.classpath
和 .settings/
文件/文件夹(例如将它们添加到 .gitignore
文件中)? - Guy Avraham.project
不应该在 .gitignore
中。关于 .classpath
— 如果你使用 m2eclipse
并且你的工作区配置为在启动时更新 Maven 项目,那么你可以将 .classpath
添加到 .gitignore
中,但我自己没有测试过。 - Isaac.project
和.classpath
,并添加到.gitignore
中。一切都很顺利,我不需要频繁地在Git中无休止地更新这些文件。 - Isaac.project
在工作区创建项目时,会自动生成一个描述该项目的项目描述文件。此文件的唯一目的是使项目具有自我描述性,以便将打包或发布到服务器的项目能够在另一个工作区中得到正确重建。
.classpath
Classpath指定在项目中哪些Java源文件和资源文件被Java构建器所考虑,并指定如何在项目外查找类型。Java构建器将Java源文件编译到输出文件夹中,并将资源文件复制到其中。
由于这些文件可以通过各种插件进行扩展,因此无法提供完整的参考文献。
基本上,.project 文件存储项目设置,例如构建器和项目性质设置,而 .classpath 文件定义在运行过程中要使用的类路径。类路径文件包含与项目中的文件夹相对应的 src 和 target 条目;con 条目用于描述某种“虚拟”条目,例如 JVM 库或者在 Eclipse 插件依赖项的情况下(普通 Java 项目依赖项以不同的方式显示,使用特殊的 src 条目)。
.project
文件的标记语言: 项目描述文件。.project
文件被定义为: