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 によって生成されます。サードパーティのjarをローカルのmavenリポジトリにインストールするという最も適切な方法を使用したかったのです。この目的のために、次のコマンドが使用されます。
mvn install:install-file -Dfile...
これは設計どおりに機能します。ビルド時に使用する pom.xml ファイルを作成したかったので (親子)、作成した jar をローカルの maven リポジトリにコピーします。Maven は、ローカル リポジトリにコピーされる独自の jar を作成するため、実行できません。質問は、maven を変更して別の jar を使用する方法ですか? respawn.exeによって作成されたjarとは異なるため、mavenを作成するjarをコピーしたくありません。
Jar の比較 このリンクは、これらの jar の違いを示しています。右側 (maven ローカル リポジトリ) の jar に、適切なクラスを含む abc フォルダーがないことがわかります。
質問はなぜですか?