7

当您开始在 Java 中使用第三方库时,您将他们的 jars 添加到您的项目中。您是否还将罐子添加到存储库中,或者您只是保留本地安装。如果是后者,您如何在团队成员之间同步才能工作?

谢谢。

4

8 回答 8

12

是的。您应该将开发人员在干净系统上(除了安装 JDK 和 ant)检查和构建项目所需的任何内容添加到存储库中。

于 2009-03-02T17:53:56.273 回答
10

不,如果您使用 Maven。将它们放入 Maven 存储库(如果它们还没有,大多数开源库已经在公共 Maven 存储库中)。

是的,如果您使用 Ant。

于 2009-03-02T17:42:09.297 回答
4

如果您使用的是 ANT 并且想要没有 maven 的 maven 样式依赖管理,请查看Ivy。它可以从 maven 存储库下载,甚至可以读取 maven pom 文件。

于 2009-03-02T17:50:57.310 回答
3

是的,第三方库应该是版本控制的,因为您希望每个人都针对该库的相同版本进行编译。这样,当第三方库发生更新时,您只需在一个地方进行更改,每个人都会更新到新版本。否则你很容易得到著名的:“它在我的机器上编译!”-综合症。

于 2009-03-02T18:07:40.687 回答
2

假设您不使用 Maven,那么您绝对应该检查 3rd 方 jar 的版本。您(或更重要的是,跟随您的维护开发人员)应该能够从存储库中提取您的应用程序版本,并拥有编译和运行时所需的所有 3rd 方 jar 的所有正确版本。

您还应该维护第 3 方 jar 的版本控制历史,再次帮助维护开发人员。将它们签入存储库是执行此操作的最简单和最有效的方法。

于 2009-03-02T19:44:39.953 回答
1

我建议对构建项目所需的一切进行版本控制。除非您使用像 maven 这样的构建工具。

于 2009-03-02T17:43:57.170 回答
1

简答

更长的答案

在此期间,请使用网络上与 repo 分开的文件夹。

长期解决方案

使用Maven。它是为处理您的构建、配置和外部 jar 依赖关系而构建的。

不过,请转到此处获取文档。(众所周知,官方的 Maven 文档参差不齐)。

于 2009-03-02T18:59:25.197 回答
0

最近我一直将 JAR 排除在 SVN 之外。我有一个单独的存储库,用于将它们拉入项目、管理依赖项并跟踪不同的版本。

这就是 Maven 的诞生。我必须学习如何很好地使用它,但在那之前我会保留自己的 JAR 存储库。

于 2009-03-02T17:42:22.243 回答