0

我已经阅读了如何获取我拥有的 jar 文件并将其添加到此链接中的 maven 中的依赖系统

但我想要的是,我有一组 30 到 40 个 jar 文件,我必须将它们添加到依赖系统中。我是否需要使用添加所有 jar 文件

  1. mvn install:install-file -DgroupId=com.stackoverflow... -DartifactId=yourartifactid... -Dversion=1.0 -Dpackaging=jar -Dfile=/path/to/jarfile,

其次是,

2.

<dependencies>
        ...
        <dependency>
                <groupId>com.stackoverflow...</groupId>
                <artifactId>artifactId...</artifactId>
                <version>1.0</version>
        </dependency>
        ...
</dependencies>

还是有一种简单的方法可以让我使用 mvn:install 将所有依赖的 jar 文件打包到一个 maven 项目中,我的主项目可以依赖于该项目?

提前致谢。

4

2 回答 2

0

如果您所指的 30-40 个 jar 文件中的大多数是标准开源库,那么您不需要install手动将它们添加到本地存储库。它们中的许多也可能是transitive,即一个dependency轮流拉入另一个。在这种情况下,您只需要添加作为dependency主要依赖项。这反过来又会引入传递的。

如果大多数依赖项是专有的并且您自己管理它们,那么您很可能将它们放在源代码管理系统中的某个特定文件夹中,例如lib. 如果是这样,您可以跳过该install步骤,只需指定dependencies使用<system>范围(请参阅此处)。

您可以定义一个 maven 项目(作为pom类型)来指定所有项目,dependencies并让您的主项目依赖于它,如果有的simplifies话。

于 2012-08-07T13:13:12.917 回答
0

此链接中的第一个答案确实解决了我的疑问..

“项目应该明确列出它们的所有依赖项,而不是依赖于继承它们(恕我直言)。这意味着您必须声明您的记录器几次,但它会在以后为您省去痛苦。(您当然可以使用单独的 POM 项目组合在一起相关的依赖项,因此通常一起指定,例如链接中的休眠示例)。如果要集中依赖项的版本,可以在父 POM 中放置一个依赖项管理部分,这意味着您仍然在子项目中声明依赖项,但版本来自父级,从而确保一致性。不声明依赖的子级根本不会得到它。

因此,实践应该是为所有依赖项创建单独的 POM(子)项目,如果我们愿意,我们可以使用聚合将它们包装到可以在我们的项目中单独引用的 Parent-POM。但是我们必须为每个依赖的 JAR 分别创建一个子项目。花费时间的过程,但似乎是唯一的答案。

于 2012-08-08T12:09:36.603 回答