我们有一个maven项目,其中我们使用了一些在任何远程存储库中都不存在的工件。它们作为编译的.jar文件包含在我们的项目中的某个目录中,比如/lib。其中一些是“普通”依赖项,我们可以使用范围system+systemPath从/lib中利用这些依赖项,但是有一个工件应该与maven-dependency-plugin unpack目标一起使用。xml的相关部分如下所示
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<executions>
<execution>
<id>unpack-resources</id>
<phase>generate-resources</phase>
<goals>
<goal>unpack</goal>
</goals>
<configuration>
<artifactItems>
<artifactItem>
<groupId>xxx.yyy.zzz</groupId>
<artifactId>ourartifact</artifactId>
<outputDirectory>${target.directory}/somedir</outputDirectory>
<includes>
files1/**,files2/**,files3/**
</includes>
</artifactItem>
</artifactItems>
</configuration>
</execution>
</executions>
</plugin>
但是,这仍然试图联系到远程存储库并从那里获取工件,这当然不会成功。我们是否可以尝试从/lib获取这个工件?
而不是从/lib获取,并且如果设置自己的nexus/artifactory/等。现在有点多,您可以将jar添加到本地存储库中。每个人都必须在自己的计算机上执行此操作,但一旦在计算机上执行此操作,该计算机上的所有maven构建的项目都可以使用此操作,因此您不必为每个项目都拥有/lib副本。如果您正在自己编译jar,并且它是一个maven项目,那么您可以执行“mvn install”,它将安装到您的本地repo。请注意mvn包不会安装到您的本地回购。
如果这是一个第三方jar,您可以使用mvn install:install-file来完成此操作。为此,请遵循https://maven.apache.org/guides/mini/guide-3rd-party-jars-local.html的说明。
希望这有帮助!
我正在尝试设置一个组织范围的maven存储库。我已将archiva安装为服务,并在本地设置中添加了镜像。使用maven的xml禁用maven central。 我已经将我的project ect1的jar上传到Archiva内部存储库。我在我的project ect2的POM. xml中使用project ect1的jar的group id、artifactid和版本号。我看到项目1的jar已经被
有一些相关的问题,但它们并没有完全回答这个问题: 在构建之前将jar添加到maven本地存储库 maven-assembly-plugin不添加系统作用域的依赖项
可以在pom中包含本地文件。xml,或者在本地存储库中安装jar文件,或者提供指向本地jar的链接,并将范围设置为“system”。如果我包括一个胖jar(=包含所有可传递依赖项的jar),会发生什么?Maven是否仍然能够正确地检测依赖冲突,我是否仍然能够排除我的“胖jar依赖”的一些可传递依赖? 问题是,我正在从事一个遗留软件项目,该项目之前没有使用任何构建工具/依赖关系管理工具(因此所有需要
Maven错误在下面 当我使用命令mvn安装时遇到这个错误。我已经成功安装了项目idm-ao。可以在这里找到这个罐子: D:\MavenRepository\com\Cloud\idm\idm-ao\1.0\idm-dao-1.0.jar idm-dao.jar是对idm服务的依赖 [错误]无法在project idm服务上执行目标:无法解析project com的依赖项。云idm:idm服务:j
本文向大家介绍用Maven打成可执行jar,包含maven依赖,本地依赖的操作,包括了用Maven打成可执行jar,包含maven依赖,本地依赖的操作的使用技巧和注意事项,需要的朋友参考一下 因为今天一个朋友学习过程中用到了maven项目编写代码,到了最后打包阶段打的包不能运行,一时我也没想起来具体操作步骤,后来我百度学习了一下,特此记录下,以便后续自己查阅。 maven项目中不可避免的需要用到依
我罐子里的东西: 下面是我使用JAR的方法: