在maven中添加一组依赖项

时间:2012-08-07 12:12:29

标签: maven build-dependencies

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

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

添加所有jar文件
  1. mvn install:install-file -DgroupId = com.stackoverflow ... -DartifactId = yourartifactid ... -Dversion = 1.0 -Dpackaging = jar -Dfile = / path / to / jarfile,
  2. 接着,

    2

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

    或者有一种简单的方法可以使用mvn:install将所有相关的jar文件包装到一个maven项目中,我的主项目可以依赖于该项目吗?

    提前致谢。

2 个答案:

答案 0 :(得分:0)

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

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

您可以定义单个maven项目(dependencies类型)以指定所有simplifies并让您的主项目依赖于它,如果{{1}}的话。

答案 1 :(得分:0)

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

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

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