首页 文章

在maven中添加一组依赖项

提问于
浏览
0

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

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

  • 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项目中,我的主项目可以依赖于哪个?

提前致谢 .

2 回答

  • 0

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

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

    你可以定义一个maven项目(如 pom 类型)来指定所有的 dependencies 并让你的主项目依赖它,如果是 simplifies 的话 .

  • 0

    这个_2839723中的第一个答案真的解决了我的疑问..

    “项目应明确列出所有依赖项,而不是依赖继承它们(恕我直言) . 这意味着你必须多次声明你的 Logger ,但它会在以后为你节省时间 . (你当然可以使用一个单独的POM项目组合在一起相关的依赖关系,因此通常一起指定,如链接中的hibernate示例 . 如果要集中依赖项的版本,可以将dependencyManagement部分放在父POM中,这意味着您仍然在子项目中声明依赖项,但版本来自父母,因此确保了一致性 . 没有声明依赖关系的孩子根本不会完全依赖它 . “

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

相关问题