我使用创建 jar 的外部程序。此操作的代码如下:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<version>1.8</version>
<executions>
<execution>
<phase>generate-sources</phase>
<configuration>
<tasks>
<property environment="env" />
<property name="appname" value="hellojavaworld" />
<echoproperties />
<exec dir="" executable="respawn.exe" searchpath="true">
<arg value="${basedir}\src\main\java\${appname}.app" />
</exec>
</tasks>
</configuration>
<goals>
<goal>run</goal>
</goals>
</execution>
</executions>
</plugin>
创建的 jar 由 respawn.exe 生成,稍后在构建过程中使用。我想使用最合适的方法,将 3rd 方 jar 安装到本地 maven 存储库。为此,使用以下命令:
mvn install:install-file -Dfile...
这按设计工作。我想创建将在构建期间使用的 pom.xml 文件(父子),因此创建的 jar 将被复制到本地 maven 存储库。我做不到,因为 maven 创建了自己的 jar 并复制到本地存储库。问题是如何更改 Maven 以使用不同的 jar?我不想复制创建 maven 的 jar,因为它与 respawn.exe 创建的 jar 不同。
罐子比较 这个链接描述了这些罐子的区别。您可以看到右侧的 jar(maven 本地存储库)缺少带有适当类的 abc 文件夹。
问题是为什么?