将JAR文件(库)签入到版本控制工具中 - 这是一个好习惯吗?

Vee*_*era 11 java svn version-control

我正在用Java开发一个Web应用程序,我在我的lib文件夹中使用了几个第三方JAR文件.我也有Subversion作为我的版本控制工具.

我的问题是,在检查我的项目文件时,我是否应该检入JAR文件,还是不需要对JAR文件进行版本控制,因为我还没有修改它们?

Mar*_*iot 9

这是一个非常主观的问题......我通常应用以下经验法则:如果我有代码来构建二进制文件,请检查代码,而不是二进制文件; 如果需要二进制文件来运行我的代码并且它来自外部源,请检查二进制文件.

请注意,您需要遵守将某些第三方二进制文件签入存储库时可能出现的任何法律条件.


dan*_*ben 7

我建议尽可能使用Maven.然后,您不需要将第三方JAR检入您的存储库,以便在您的开发团队中共享它们(大多数时间).

如果您还没有意识到,Maven执行两项主要任务:构建自动化和依赖关系管理.每个项目都有一个描述符文件,用于配置您用作依赖项的JAR.关于这一点的好处是,Maven会自动为您解决这些JAR的依赖关系及其依赖关系,等等.

  • 这是真的,虽然我同时使用了Ant/Ivy和Maven,但我更喜欢Maven. (3认同)
  • 如果您更熟悉 Ant,那么 Ivy Apache (http://ant.apache.org/ivy/) 可能更容易掌握。 (2认同)