2010-08-19 64 views
15

我想将在eclipse中创建的动态Web项目签入svn。有人可以告诉我哪些文件我必须检查和哪一个我不应该?这个想法是能够使用新建项目向导检出项目,以便我可以再次创建动态Web项目。更具体地讲这里的文件/目录我在项目 -在Eclipse项目中检入SVN

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

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

而且哪里日食存储的服务器信息(Tomcat)的?我不想检查它。

编辑:

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

**编辑2 **

发现它!

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

一旦这3个被删除新项目向导按预期工作和一切 - 原来我不应该在下面检查很好。

回答

13

如果您在.classpath/.project/.settings中检查,则使您的项目特定于Eclipse。那么与NetbeansIntelliJ合作的开发人员呢?海事组织保持项目IDE独立且易于设置更清洁。

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

.settings目录包含本地设置(如您想要使用的Java版本)。国际海事组织(IMO)对此进​​行检查并不有用。您可以通过Maven2 pom执行Java版本合规性。

最后,你的下一个项目,我普罗蒂普是svn-ignore的文件或目录,你不想在SVN 在你第一次提交。在Maven2设置中,将会是.settings.classpath.projecttarget(Maven2的默认输出目录)以及其他生成的东西(日志文件,gfembed目录等)。在你的情况下,你会忽略builddist而不是target

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

现在你已经提交并删除了这些文件,忽略不会再按照我的经验工作了。不知何故,我从来没有设法成功忽略曾经检入到SVN仓库中的生成文件;他们就像僵尸,总是从死亡中回来。也许通过物理删除SVN回购中的条目可以实现,但我从来没有这样做过。

+0

谢谢你对IDE特定的一点文件以及使用svn忽略的一个好主意。 – user220201 2010-08-19 16:14:24

+0

虽然.settings的内容是Eclipse特有的,但这并不意味着他们不需要与团队中的其他成员共享。具体而言,您可能想分享您的项目的JDT警告偏好。通过生成它们来分享这将是一件非常痛苦的事情。 – 2012-05-10 18:52:17

+0

好点。我有时通过从IDE中导出并共享这些文件来共享这些设置。例如,Eclipse允许导出格式和代码模板规则。另一个例子是checkstyle设置。所有这些设置通常是公司范围内的策略,因此经常在Confluence Wiki上找到它们,而不是检查每个项目。 – 2012-05-11 06:46:01

0

我会省略。项目,.settings /,距离,和建设。

的的.classpath可以,如果你使用变量,而不是硬编码路径留英寸这很有用,所以你不必在每次签出项目时重建类路径。

11

在我们的例子中,我们在你的列表中提到除,.settings /所有已签。

通过检入.classpath.project,用户可以快速检出项目并在新电脑上启动Eclipse并开始工作;另一种方法是手动配置项目并且辛苦地添加所有jar依赖项(如果使用ant)。许多开源项目都这样做。

阅读this,也有一些非常好的点来思考一下。

+0

无法链接到博客文章,新的URL是:http://lousycoder.blogspot.com/2008/09/arguments-against-checking-in-your.html – David 2016-02-01 14:51:29

2

好问题...我们中的很多人都在进行是否要检查IDE相关文件的困境。我通常会在eclipse中检查.classpath,并使用eclipse变量来确保团队需要更改变量值并且它可以工作。我们还检查.project,以便团队不需要在其工作区中创建新项目。