将Eclipse项目签入SVN

时间:2010-08-19 04:59:30

标签: java eclipse svn

我想将我在eclipse中创建的动态Web项目签入svn。有人能告诉我我要检查哪些文件以及哪些文件不应该?我们的想法是能够使用“新建项目向导”检出项目,以便我可以再次创建动态Web项目。更具体地说,这是我在项目中的文件/目录 -

  • SRC
  • 的WebContent
  • 构建
  • DIST
  • 的build.xml
  • 的.project
  • 的.classpath
  • .settings /

构建目录显然不应该检查。其他的呢? 我猜所有的。不应该检查文件。有人可以验证一下吗? 这个dist目录和.settings目录是什么?

eclipse在哪里存储服务器信息(tomcat)?我也不想检查它。

编辑:

我最初检查了以上所有内容,当然除了构建目录。当我从Eclipse内部检出项目时,它并没有提示我创建一个新项目,因为.project在那里,但是Eclipse正在创建一个JavaEE项目,而不是动态Web项目。有没有其他人遇到这种行为?

**编辑2 **

发现它!事实证明我不应该检查以下内容 -

  • 的.project
  • .settings /
  • 的.classpath

删除这3个后,新项目向导按预期工作,一切正常。

4 个答案:

答案 0 :(得分:13)

如果您签入.classpath/.project/.settings,那么您的项目将特定于Eclipse。使用NetbeansIntelliJ的开发人员呢? IMO让您的项目独立于IDE并且易于设置更清晰。

我通常会去Maven构建。 pom.xml指定所有必需的依赖项,mvn eclipse:eclipse为您生成.classpath/.project个文件。

.settings目录包含本地设置(例如您要使用的Java版本)。 IMO对此进行检查是没有用的。您可以通过Maven2 pom强制执行Java版本。

最后,对于您的下一个项目,我的protip是svn-ignore您在第一次提交之前在SVN 中不想要的文件或目录。在Maven2设置中,.settings .classpath .project target(Maven2的默认输出目录)和任何其他生成的东西(日志文件,gfembed目录等)。在您的情况下,您会忽略builddist而不是target

你可以使用svn-ignore RIGHT_MOUSE->Team->'Add to svn:ignore'个文件或目录(我使用Subclipse插件)。忽略指令在父目录中存储为svn-propertiesRIGHT_MOUSE->Team->Show properties可以查看目录上的属性。您还可以通过单击值字段直接在那里编辑属性。确保每个属性后都有一个行尾。

既然你已经提交然后删除了这些文件,根据我的经验,忽略不再起作用了。不知何故,我从未设法成功忽略已经检入SVN存储库的生成文件;他们就像僵尸一样,总是从死里复活。也许通过在SVN回购中删除他们的条目,这可以实现,但我从来没有做过。

答案 1 :(得分:11)

在我们的案例中,我们检查了列表中提到的所有内容,但.settings /.

在签入.classpath.project后,用户可以快速签出项目并在新计算机上启动Eclipse,然后开始处理它;另一种方法是手动配置项目并精心添加所有jar依赖项(如果使用ant)。许多开源项目都是这样做的。

阅读this,有一些值得思考的好点。

答案 2 :(得分:2)

好问题......我们中的许多人是否想要检查IDE相关文件处于两难境地。我通常会去检查eclipse中的.classpath,并使用eclipse变量来确保团队只需要更改变量值就行了。我们还检查.project,以便团队不需要在他们的工作区中创建新项目。

答案 3 :(得分:0)

我会省略.project,.settings /,dist和build。

如果使用变量而不是硬编码路径,则可以保留.classpath。这很有用,因此您每次签出项目时都不必重建类路径。