ktm*_*124 4 java maven-3 maven
关于这一点有很多问题,但答案似乎相互矛盾.所以我想问一下我的Maven版本(3.0.4).
我有一个不属于任何maven存储库的JAR文件.这是当地的依赖.我知道有两种方法可以将它添加到我的Maven项目中.
<systemPath>属性中指定文件路径.(不需要其他工作.)<my-project>/repo并在此存储库中安装JAR.然后,在我的pom.xml文件中添加新存储库并添加新的依赖项.我很好奇哪种方式更好的做法?我听说过有关<systemPath>房产的一些负面消息,尽管这种方式看起来更快.
小智 8
您可以将jar添加到本地maven存储库.通常它位于:
$home_directory/.m2/repository
Run Code Online (Sandbox Code Playgroud)
例如,您有expample.jar,并且您想将其添加到您的pom中:
<dependency>
<groupId>com.example</groupId>
<artifactId>example</artifactId>
<version>1.0</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)
然后你必须将example.jar添加到:
$home_directory/.m2/repository/com/example/1.0/example.jar
Run Code Online (Sandbox Code Playgroud)
就我而言,NetBeans为我做了.
答案是,这取决于......
如果将其添加为系统依赖项,则可能会变为路径依赖,这使得在其他开发人员之间共享变得更加困难.当然,您也可以通过SCM分发相对于您的POM的第三方jar,但systemPath更多的意图是JDK或VM提供的依赖关系.从该文档有关systemPath:
它们通常用于告诉Maven有关JDK或VM提供的依赖关系.因此,系统依赖性对于解决现在由JDK提供的工件的依赖性特别有用,但是可以在之前单独下载.
在本地仓库中安装jar也不适合共享.它要求所有开发人员在构建之前将jar"上传"到他们的本地仓库.您当然可以添加一个脚本来处理这个问题,但总是很容易忘记上传和IMO更好的解决方案是下面的第3点.此处描述了本地安装过程.
如果您在开发人员共享POM的组织中工作,则应将第三方jar上载到本地存储库管理器.这样你就可以轻松使用第三方jar,就像使用任何其他maven启用的jar一样.有关存储库管理器的完整列表,请查看此链接.
总而言之,如果您与其他人共享POM,我建议您将其上传到本地存储库管理器.否则第二个选项可以为您服务.作为最后一种选择,我会回到第1选项.
另请注意,这与您正在运行的Maven版本无关.
| 归档时间: |
|
| 查看次数: |
29032 次 |
| 最近记录: |