8

您如何确保可以将代码签出到 Eclipse 或 NetBeans 中并在那里使用它?

编辑:如果您不签入与 ide 相关的文件,则每次签出项目时都必须重新配置构建路径、包含和所有这些内容。我不知道,如果 ant(尤其是从 eclipse 创建/导出的 ant 构建文件)将与另一个 ide 无缝协作。

4

7 回答 7

9

实际上,我们现在在 SVN 中为我们的代码维护了一个 Netbeans 和一个 Eclipse 项目,完全没有任何问题。Netbeans 文件不会踩到 Eclipse 文件。我们的项目结构如下:

sample-project   
+ bin
+ launches  
+ lib  
+ logs
+ nbproject  
+ src  
  + java
.classpath
.project
build.xml

最大的点似乎是:

  • 禁止任何 IDE 的项目文件中的任何绝对路径。
  • 将项目文件设置为将类文件输出到同一目录。
  • svn:忽略 .nbproject 目录中的私有目录。
  • svn:ignore 用于从 IDE 和任何其他运行时生成的目录(如上面的日志目录)输出类文件的目录。
  • 让人们始终使用这两种方法,以便快速解决差异。
  • 还要维护一个独立于 IDE 的构建系统,例如巡航控制。
  • 使用 UTF-8 并立即更正任何编码问题。

我们在 Fedora 9 32 位和 64 位、Vista 和 WindowsXP 上进行开发,大约一半的开发人员使用一种或另一种 IDE。少数人同时使用并定期来回切换。

于 2008-09-17T16:19:37.897 回答
7

聪明的答案是“这样做”——除非你不使用多个 IDE,否则你不知道你是否真的准备好使用多个 IDE。诚实。:)

我一直认为多个平台更麻烦,因为它们可能使用不同的编码标准(例如,Windows 可能默认为 ISO-8859-1,Linux 可能默认为 UTF-8)——对我来说,编码比 IDE 引起的问题要多得多。

更多指针:

  • 您可能想使用 Maven ( http://maven.apache.org ),让它生成 IDE 特定文件,并且永远不要将它们提交到源代码控制。
  • 为了确保生成正确的人工制品,您应该有一个专用的服务器来构建您的可交付成果(例如 Cruisecontrol),或者借助 ant、maven 或任何其他工具。这些可交付成果是在开发机器之外进行测试的成果。让人们意识到在他们自己的机器之外还有另一个世界的好方法。
  • 禁止在源代码管理中找到的任何 IDE 特定文件中包含任何机器特定路径。始终通过逻辑路径名引用外部库,最好包含它们的版本(如果你不使用 maven)
于 2008-09-17T10:08:38.333 回答
1

最好的办法可能是提交任何与 IDE 相关的文件(例如 Eclipse 的 .project),这样每个人都可以签出项目并按照自己的意愿做事。

话虽这么说,我猜大多数 IDE 都有自己的配置文件方案,所以也许你可以在没有任何冲突的情况下提交所有内容,但 imo 感觉很混乱。

于 2008-09-17T09:53:41.613 回答
0

在大多数情况下,我同意 seldaek,但我也倾向于说,您至少应该提供一个文件,说明依赖项是什么、用于编译的 Java 版本等,以及 NetBeans 之外的任何其他内容/Eclipse 开发人员可能需要在他们的 IDE 中进行编译。

我们目前只使用 Eclipse,因此我们将所有 Eclipse .classpath .project 文件提交给 svn,我认为这是更好的解决方案,因为这样每个人都能够重现错误和不容易的东西,而不是对 IDE 细节感到厌烦。

于 2008-09-17T10:01:09.287 回答
0

我的理念是构建应该使用“最小公分母”的方法来完成。源代码控制中的内容是构建所需的内容。虽然我专门使用 Eclipse 进行开发,但我的构建是在命令行中使用 ant 进行的。

关于源代码控制,我只从命令行签入对构建至关重要的文件。没有 Eclipse 文件。当我设置一台新的开发机器时(似乎一年两次),让 Eclipse 从一个 ant 构建文件导入项目需要一点努力,但没什么可怕的。(理论上,这对于其他 IDE 应该也是一样的,不是吗?他们必须能够从 ant 导入?)

我还记录了如何设置一个最低限度的构建环境。

于 2008-09-17T10:24:08.967 回答
0

我使用 maven,只签入 pom 和源代码。
签出项目后,我运行 mvn eclipse:eclipse
我告诉 svn 忽略生成的 .project 等。

于 2008-09-17T10:43:04.913 回答
0

这就是我所做的:

  1. 仅在源代码控制中维护您的 ant 构建脚本和相关的类路径。类路径可以在 ant 脚本、属性文件中明确显示,也可以由 ivy 管理。
  2. 编写一个 ant 目标以从 ant 类路径生成 Eclipse .classpath 文件
  3. Netbeans 将使用您的构建脚本和类路径,只需通过自由形式的项目对其进行配置即可。

这样您就可以获得独立于 IDE 的构建脚本和快乐的开发人员 :)

netbeans 网站上有一个关于如何做 3 的博客。但我现在找不到。我已经在我的网站上记录了如何执行上述操作 -链接文本(虽然又快又丑,对不起)

请注意,如果您使用的是 Ivy(一个好主意)和 eclipse,您可能会想使用 eclipse ivy 插件。我用过它,发现它非常糟糕而且不可靠。最好使用 2. 以上。

于 2008-09-18T01:31:16.477 回答