我的问题是,我希望自动将一个外部库导入到用户的本地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‘时才调用插件。
我想要的是在运行'mvn install‘时自动导入我的依赖项。或者至少在一个命令中运行'mvn clean install‘的时候。
发布于 2020-03-18 17:33:54
您的解决方案不能只使用一个Maven命令。
如果你用mvn something启动Maven,依赖关系会首先被解析,所以你在构建过程中通过插件安装的任何东西都不会被发现。
正如khmarbaise已经说过的,解决方案是首先将工件放入存储库。通常的解决方案是你的公司Nexus/Artifactory (如果你认真开发Maven,应该有一个)。
如果这确实不可能,您可以使用一个目录作为Maven存储库,如下所述:https://stackoverflow.com/a/28762617/927493
https://stackoverflow.com/questions/60728959
复制相似问题