java - 在 pom 中使用 maven-install-plugin 将外部库导入本地存储库
问题描述
我的问题是我想将一个外部库自动导入到用户的本地 maven 存储库中。
这是我使用 maven-install-plugin 使其工作的方法:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-install-plugin</artifactId>
<version>2.5.2</version>
<executions>
<execution>
<id>install-external</id>
<phase>clean</phase>
<configuration>
<file>${basedir}/myjar.jar>
<repositoryLayout>default</repositoryLayout>
<groupId>mygroupid</groupId>
<artifactId>myartefactid</artifactId>
<version>myversion</version>
<packaging>jar</packaging>
<generatePom>true</generatePom>
</configuration>
<goals>
<goal>install-file</goal>
</goals>
</execution>
</executions>
</plugin>
但是在 pom 中,为了让它工作,我必须在两个不同的命令中执行:
mvn clean
mvn install
如果我只是在跑步
mvn clean install
在安装阶段无法解决我的依赖关系(除非我单独完成了 mvn clean 并且我当然没有清理本地存储库)。只有当我单独运行“mvn clean”时,Clean 似乎才会调用插件。
我想要的是在运行“mvn install”时自动导入我的依赖项。或者至少在单个命令中运行“mvn clean install”时。
解决方案
您的解决方案不能仅使用一个 Maven 命令。
如果您使用 启动 Maven ,则首先mvn something
解析依赖项,因此您在构建期间通过插件安装的任何内容都不会被发现。
正如 khmarbaise 已经说过的那样,解决方案是首先将工件放入存储库中。通常的解决方案是您的公司 Nexus/Artifactory(如果您进行认真的 Maven 开发,应该有一个)。
如果这真的不可能,您可以使用一个目录作为 Maven 存储库,如下所述:https ://stackoverflow.com/a/28762617/927493
推荐阅读
- windows - 为什么通过 UWP 下载文件时 $DATA 为空
- python - Python 字典的深度
- c# - 更新 Parallel.ForEach 线程中对象的属性是否安全?
- android - 在 Android 11 中获取文件的文件路径时出错
- actions-on-google - 意图不移动到下一个意图
- elasticsearch - 在弹性搜索中启用 xpack.security 后无法验证用户 [弹性]
- c++ - 在宏中转义 ::
- python - 没有名为 setuptools_rust 的模块
- python - Python:如何将货币对与以相反顺序形成的货币对相同?
- react-native - 如何防止在 react-admins DateInput 中输入错误的日期?