gpt4 book ai didi

java - 在 Maven 依赖插件中使用本地 jar 作为 Artifact ?

转载 作者:行者123 更新时间:2023-12-05 07:55:41 25 4
gpt4 key购买 nike

我们有一个 Maven 项目,我们在其中使用了一些在任何远程存储库中都不存在的 Artifact 。它们作为已编译的 .jar 文件包含在我们项目的某个目录中,例如/lib。其中一些是“普通”依赖项,我们可以使用 scope system + systemPath 从/lib 中使用它们,但是有一个 Artifact 应该与 maven-dependency-plugin unpack 目标一起使用。 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>

然而,这仍然会尝试访问远程存储库并从那里获取 Artifact ,这当然不会成功。我们能否以某种方式实现这个 Artifact 也试图从/lib 中获取?

最佳答案

如果现在设置您自己的 Nexus/Artifactory/etc... 不是从/lib 获取,您可以将 jar 添加到您的本地存储库。每个人都必须在自己的计算机上执行此操作,但一旦到了那里,该计算机上的所有 maven 构建项目都可以使用它,因此您不必为每个项目都有一个/lib 副本。如果你自己编译那个 jar 并且它是一个 maven 项目,你可以执行“mvn install”,这将安装到你的本地 repo。请注意,mvn 包不会安装到您的本地存储库。

如果这是第 3 方 jar,您可以使用 mvn install:install-file 来执行此操作。为此,请按照 https://maven.apache.org/guides/mini/guide-3rd-party-jars-local.html 中的说明进行操作。 .

希望这对您有所帮助!

更新:对于本地存储库,我的意思可能与您在评论中提到的不同——我指的是每个用户计算机上的本地存储库,而不是您的 Intranet 本地的存储库服务器。对不起,如果这造成了任何困惑:)

关于java - 在 Maven 依赖插件中使用本地 jar 作为 Artifact ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29495409/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com