【发布时间】:2015-06-12 06:36:34
【问题描述】:
我们有一个 maven 项目,我们在其中使用了一些在任何远程存储库中都不存在的工件。它们包含在我们项目的某个目录中,例如 /lib,作为已编译的 .jar 文件。其中一些是“普通”依赖项,我们可以使用范围 system + systemPath 从 /lib 使用它们,但是有一个工件应该与 maven-dependency-plugin 解包目标一起使用。 pom.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 获取此工件?
【问题讨论】:
-
您是否考虑过建立本地 Nexus 服务器并将本地工件放入其中?
-
是的,我们目前正在通过简单地将所有工件安装到本地 Maven 存储库中来解决这个问题,但从长远来看,期望通过上述方式解决,因为项目限制不允许将工件安装到远程存储库中
标签: java maven jar maven-plugin