eclipse-Java项目:.classpath .project文件是否应提交到存储库中?
这个问题已经在这里有了答案:
的.classpath和.project - 检查到版本控制或没有? 7个答案
我应该检入.project和.classpath文件吗?
我的朋友告诉我,我只应检入.java文件和build.xml以保证可移植性。 他说:“。classpath将使您在不同环境下的可移植性大大降低。.project完全是您的本地Eclipse设置”
我同意他的观点,但部分同意。
-不签入.project文件会使我的开发效率降低(我不能简单地从目录中“导入”项目代码)
-如果我的build.xml是精心编写的,则不签入.classpath文件对我来说似乎可以(?)。
有人要在这里分享他们的经验吗?
10个解决方案
26 votes
检入.classpath和.classpath中没有任何问题。如果您的build.xml无法为您创建两个文件,我会这样做。 如您所说,当您尝试创建新的Eclipse工作区时,错过这些文件很不舒服。
在签入.classpath之前,您应确保其中没有绝对路径。 使用文本编辑器将其转换为相对的。
编辑:甚至更好,在您的其他绝对路径中使用eclipse classpath变量,例如@ taylor-leese注释。
tangens answered 2020-02-16T03:51:33Z
10 votes
在检入.classpath文件时,我要提醒的一件事是,请确保不要在项目外部引用文件。 Eclipse使用完整的文件路径存储这些文件的位置,并且您需要确保其他开发人员将这些文件放在完全相同的位置。
MikeTheReader answered 2020-02-16T03:51:54Z
7 votes
所有这些文件的关键问题是“可以自动复制吗?” 如果没有,请检查它们进入源代码管理。
在这种情况下,我会说“是”,除非您使用的是maven,它具有m2eclipse和eclipse插件可以为您生成它们。
Dominic Mitchell answered 2020-02-16T03:52:19Z
7 votes
对于我的2美分,我认为这是一种不好的做法。 项目不应与IDE绑定,尤其不应与IDE的特定版本绑定。
对于较简单和短期的项目,检入Eclipse配置文件可能会很好。 对于经过几年开发的大型项目,这通常会带来更多麻烦,因为IDE版本会更改,而项目配置文件不会。 试想一下,使用带有一些自定义库和m2e集成的Eclipse 4.3中的Eclipse 2.0配置文件在一个已有2年历史的分支中进行检入...一点都不有趣...
Nick G. answered 2020-02-16T03:52:44Z
3 votes
我并不是很了解Eclipse首选项文件,但是使用IntelliJ时,这些文件与操作系统无关,这意味着它不会破坏您的可移植性。 除非您定义的库具有系统的完整路径(否则将非常危险/愚蠢)。
当您共享首选项时,您可以确保每个人都可以在项目上使用相同的条件(插件配置,编码,配置文件[用于intelliJ]),这确实是一件好事。
当某些Eclipse文件在这里时,它不会打扰我,当一些隐藏文件放在那里时,我认为它应该/不会真正打扰其他开发人员。
Colin Hebert answered 2020-02-16T03:53:15Z
3 votes
我们检入.project和.classpath。 使用ProjectSet,我们可以使用单个“导入团队ProjectSet”检出复杂的工作区
Thorbjørn Ravn Andersen answered 2020-02-16T03:53:35Z
2 votes
不签入.project文件将 使我的开发效率降低(我 不能简单地“导入”项目代码 从目录)
对于此问题,您可以选择创建新项目并导入现有源。
IDE特定文件(例如.project)的一个问题是其他开发人员可能希望使用另一个IDE来开发项目,因此他们可能会添加另一种类型的项目文件。 这会使您的仓库变得混乱。
mhshams answered 2020-02-16T03:54:04Z
1 votes
我宁愿签入.project和.classpath。
当多个开发人员共享该项目时,这将很有帮助。 设置开发环境变得容易和快捷。 通过简单地将其导入为使用Eclipse的任何系统上的现有项目。
这里只需要注意,类路径是相对于项目的。
YoK answered 2020-02-16T03:54:33Z
1 votes
我经常会有类似的,更笼统的提问。 问题本质上是:
我要提交哪些文件?
我要为其他人提交哪些文件?
→如何结合“版本控制”的两个目标?
我提供了在那里讨论的内容,因此您可能会找到有关该问题的更多详细信息以及有趣的解决方案:)
我最喜欢的一个是git submodule的使用:将.project等文件保存在一个私有的提交仓库中。 然后将最终的,纯净的,必不可少的src产品变成一个精巧的submodule块:一个公共回购。
project/ # root module
| .git # private repo
| .project
| .classpath
| momsNumber.txt
+---src/ # submodule
| | .git # public repo
| | main.java
| +---package/
| | | Etc.java
反正在那里。
iago-lito answered 2020-02-16T03:55:20Z
0 votes
将.classpath和.project文件检入到存储库中没有问题。 它将帮助使用Eclipse的开发人员更快地进行开发。
警告:请确保您的.classpath文件仅引用随项目一起进入存储库或可以自动获取的工件(例如maven工件)。
Eugene Ryzhikov answered 2020-02-16T03:55:45Z