将 Eclipse 项目签入到 SVN 中

2022-09-03 12:58:35

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

  • 来源
  • 网络内容
  • 断续器
  • 构建.xml
  • .项目
  • .类路径
  • .settings/

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

另外,eclipse在哪里存储服务器信息(tomcat)?我也不想签入。

编辑:

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

** 编辑 2 **

找到了!原来我不应该检查以下内容 -

  • .项目
  • .settings/
  • .类路径

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


答案 1

如果您签入,则可以使您的项目特定于 Eclipse。与 或 合作的开发人员呢?IMO 保持项目独立于IDE且易于设置,这更干净。.classpath/.project/.settingsNetbeansIntelliJ

我通常会选择Maven构建。指定所有必需的依赖项并为您生成文件。pom.xmlmvn eclipse:eclipse.classpath/.project

该目录包含本地设置(例如要使用的 Java 版本)。IMO 检查此内容没有用处。您可以通过 Maven2 pom 强制 Java 版本合规性。.settings

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

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

现在您已经提交并删除了这些文件,根据我的经验,忽略将不再起作用。不知何故,我从未设法成功忽略曾经签入SVN存储库的生成文件;他们就像僵尸一样,总是从死里复活。也许通过在SVN存储库中物理删除他们的条目可以实现这一点,但我从未这样做过。


答案 2

在我们的例子中,我们已经签入了您在列表中提到的所有内容,除了.settings/。

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

阅读本文,有一些非常好的要点值得思考。


推荐