2012-08-07 81 views
0

我已阅读如何拍摄我有一个jar文件,并在此link添加一组依赖的行家

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

  1. MVN安装:安装文件-DgroupId = com.stackoverflow ... -DartifactId = yourartifactid ... -Dversion = 1.0 -Dpackaging =罐子-Dfile = /路径/到/ jar文件,

接着,

2.

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

或者是有通过,我可以包裹所有依赖的jar文件合并成一个行家以简单的方式项目你唱mvn:安装,我的主要项目可以依赖?

在此先感谢。

回答

0

在此link第一个答案确实解决了我的疑问..

“项目应明确列出了他们所有的依赖关系,而不是靠继承他们(恕我直言),这意味着你必须声明你的记录了几次,但(当然,你可以使用一个单独的POM项目来将相关的依赖关系组合在一起,因此通常可以将它们组合在一起,如链接中的hibernate示例)如果要集中化依赖关系的版本,可以在父POM中放置一个dependencyManagement部分,这意味着您仍然在子项目中声明依赖项,但版本来自父项,从而确保一致性。没有声明依赖项的子项根本没有最终结果“。

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

0

如果您所指的大多数30-40 jar文件都是标准的开源库,那么您不需要手动将它们installinstall发送到本地存储库。也有可能的是,其中很多是transitive,即一个dependency反过来牵引另一个。在这种情况下,您只需要添加dependency主要依赖关系。这将反过来拉动传递的。

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

你可以定义一个Maven项目(如pom型)指定所有dependencies和你的主项目依赖于它,如果simplifies事情。

+0

“你可以定义一个maven项目(如pom类型)来指定所有的依赖关系,并让你的主项目依赖于它,如果这样做简化了事情。” 感谢您的回复。是的,我们可以定义一个Maven项目来指定所有这些依赖关系。但是为了这个目的,我们需要分别创建不同的项目并将它们作为模块一起添加以获得单个项目仪式?或者我们可以将个人回购空间中的所有罐子一起添加到单个项目中吗?任何快捷方式做到这一点? – Bharath 2012-08-08 06:22:30