【发布时间】:2020-03-17 19:22:46
【问题描述】:
我的问题是我想将一个外部库自动导入到用户的本地 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 项目?
-
您使用什么操作系统?如果它通过分别运行
mvn clean和mvn install来工作,并且您只需要一个命令来执行这两个操作,您可以为其创建一个别名,例如:alias mvnci='mvn clean; mvn install' -
该库来自另一家公司,它是一个 maven 项目,但他们仅以 .jar 格式提供该库。
-
我正在使用 ubuntu。但我不能做这样的别名。如果我想解决这个问题,那是因为我无法向其他将利用该项目的人解释他们必须分别完成这两个步骤。
-
如果您在公司环境中工作,通常需要一个存储库管理器。然后,您可以简单地将该 jar 文件放入存储库管理器中,并作为通常的依赖项重用。其他任何事情都会使它变得更加复杂;更容易出错等。
标签: java maven plugins installation