将Eclipse与Subversion和Maven结合使用

时间:2013-01-22 20:35:17

标签: java eclipse svn maven

我正在尝试将Eclipse,Subversion和Maven用于我的项目,每个人都告诉我永远不要检查以下文件:

target/
.classpath
.project
.settings

但是,如果我不检查它们以及其他一些项目从Eclipse中检查项目,那么Eclipse不知道它是什么类型的项目..我们正在做什么事吗?

你是如何工作的?

7 个答案:

答案 0 :(得分:6)

Eclipse有一个Maven插件;我相信它被称为m2eclipse。安装完成后,您可以选择从Maven项目导入并选择pom.xml,即使.project.settings不存在,也会将项目导入到eclipse中。因此,您无需将它们提交给svn。这带来了IDE中立的优势;您的团队的其他成员可以毫无顾虑地使用Intellij IDEA或NetBeans。

Maven还有一个用于日食的插件;您可以前往pom.xml所在的位置,打开终端并输入mvn eclipse:eclipse,它会自动生成.project.settings.。但是,建议使用第一个选项。

答案 1 :(得分:1)

我和eclipse,maven和git有同样的问题,所以也许对你有帮助:

  1. 尝试在svn中设置您的repo并检查它,但不要导入它。
  2. 您必须通过文件导入项目 - >导入 - >现有Maven项目进入您的工作区。
  3. 最后一步是分享项目。右键单击 - >团队 - >分享 - > SVN - >并将现有的一个设置为repo。
  4. 这就是我在Eclipse中处理这个问题的方法。希望它足够清楚? 顺便说一句,你不应该检查这些文件,因为类路径等在其他机器上可能会有所不同。

答案 2 :(得分:0)

我签入了.classpath和.project,但不是经常。您必须确保所有正在处理该项目的人都拥有足够接近的eclipse版本(包括特定的插件和eclipse功能)。有时你可以使用非常不同的eclipse版本,如果你确保几乎没有人检查这些文件,并且每个人只是比较并在版本控制更新时手动更新这些文件。

如果您不检查它们,则每个人都必须创建一个空项目,然后将源文件(以及所有版本控制文件或文件夹)加载到项目中。如果你小心,你可以复制这两个文件然后愚弄选项设置,使它们匹配。

请注意,Maven在处理.classpath文件的大部分内容时对此有很大的帮助。

答案 3 :(得分:0)

不检查这些文件的主要原因是IDE很可能会对这些文件进行更改以适应您的本地开发环境。如果每个人都在不断提交他们的版本,这可能会导致冲突,从而导致“破坏”的项目。

也就是说,eclipse应该通过m2eclipse插件进行合适的maven集成(我相信这些天可能会默认情况下这样做。)

Maven背后的部分理念就是这样 - 可重现的构建跨平台,跨IDE等等 - 因此不需要像这样的IDE特定文件来构建项目。 使用m2eclipse插件导入项目应该很好地解决问题。

答案 4 :(得分:0)

如果你的意思是其他成员检查项目并且它不适用于他们,他们可以单独检查maven项目而不使用eclipse,然后使用{{1}将其作为现有的maven项目导入eclipse } 插入。这很干净,没有任何问题(至少对我而言)。

答案 5 :(得分:0)

如果团队中的每个人都在使用Eclipse并且同意该项目永远不会使用其他任何东西,那么您可能会检查这些文件。但如果有人使用IntelliJ,其他工具的Netbeans会使事情变得令人恼火或者他的Eclipse非常定制。

答案 6 :(得分:0)

取决于。

Maven文档明确说明了类似"不要签入.project / .classpath / .settings /,因为它们可以从pom.xml"重新生成。句子的后半部分("它们可以重新生成")不正确,因此句子的第一部分(建议)可能会也可能不会,这取决于环境。并不是每一个Eclipse配置都可以从pom.xml中重新生成,所以我的观点是,这个决定是基于你从它获得多少增益与被绑定到特定IDE之间的权衡。

所以这取决于。

对于"社区项目",通常每个开发人员将使用不同的IDE和不同版本的IDE,我建议不要检入这些文件。否则,对于不使用IDE和IDE版本的开发人员来说,这将是一件痛苦的事。

对于大型"企业项目",IDE和IDE版本不能由开发人员自由选择,但由项目管理明确规定。因此,还有诸如编译器(1),代码格式化,验证规则,警告和错误配置,自定义内部插件配置等许多其他内容。其中很多东西都不能在pom.xml中设置(也不应该因为Maven不是和IDE,而是构建工具)。因此,在这种情况下,我会建议检查这些文件,并责怪开发人员遵守,因为他试图不遵循这些指令。

(请注意,在这种情况下,我故意使用诸如" dictate"和#34;责备"这样的词语,因为公司项目的项目管理不仅有权利,而且还有责任"指示"和"责备")

另一方面,对于一个人的项目,你不必担心你的同事,所以去检查一下。

但关键是你必须了解自己的情况和结果并自行决定。

(1)不," maven.compiler.source"不是要使用的编译器。