maven-antrun-plugin
を使用してダウンロードしたJARを実行するプロファイルがあります。プラグインの依存関係スコープの依存関係をmaven-antrun-pluginにどのように使用できますか?
別紙A:(これは動作します)
宿泊施設${maven.dependency.com.foobar.target-jar.jar.path}
(Can I use the path to a Maven dependency as a property?)を使用して、ダウンロードしたJARを参照することができます。しかし、このソリューションでは、カスタム依存関係とリポジトリ情報はプロファイルの範囲に限定されません。
<project>
...
<repositories>
<repository>
<id>thirdparty</id>
<name>Third Party</name>
<url>
[URL for the repository that holds the target JAR]
</url>
<layout>default</layout>
</repository>
</repositories>
...
<dependencies>
<dependency>
<groupId>com.foobar</groupId>
<artifactId>target-jar</artifactId>
<version>1.0.0</version>
</dependency>
</dependencies>
...
<profiles>
<profile>
<id>runJARprofile</id>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<version>1.8</version>
<inherited>false</inherited>
<executions>
<execution>
<id>run-jar</id>
<phase>package</phase>
<configuration>
<target name="runJar" fork="true">
<java jar="${maven.dependency.com.foobar.target-jar.jar.path}" />
</target>
</configuration>
<goals>
<goal>run</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
</profiles>
...
</project>
別紙B:(ワーキングそれをもらっていない)ここ
、我々はプロファイルに依存してリポジトリ情報を移動しました。 Mavenはアーティファクトを正常にダウンロードしますが、プロパティでそれを参照する方法はわかりません。
<project>
...
<profiles>
<profile>
<pluginRepositories>
<repository>
<id>thirdparty</id>
<name>Third Party</name>
<url>
[URL for the repository that holds the target JAR]
</url>
<layout>default</layout>
</repository>
</pluginRepositories>
...
<id>runJARprofile</id>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<version>1.8</version>
<inherited>false</inherited>
<dependencies>
<dependency>
<groupId>com.foobar</groupId>
<artifactId>target-jar</artifactId>
<version>1.0.0</version>
</dependency>
</dependencies>
<executions>
<execution>
<id>run-jar</id>
<phase>package</phase>
<configuration>
<target name="runJar" fork="true">
<java jar="${?????}" />
</target>
</configuration>
<goals>
<goal>run</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
</profiles>
...
</project>
私は問題/質問を理解していません。最初は 'maven.dependency.com.foobar.target-jar.jar.path'プロパティはどこに定義されていますか? – Tunaki
@Tunaki最初の例のように、 '$ {maven.dependency.com.foobar.target-jar.jar.path} 'を使って' pom'の ''から抜け出しました。 「」に追加された「」を使用してください。私は問題は "プラグインの依存関係スコープの依存関係を_maven-antrun-plugin_の中でどのように使うことができるのでしょうか?"と思います。 –
mkobit
[このリンク](http://maven.apache.org/plugins/maven-antrun-plugin/examples/classpaths.html)に基づいて、プロパティ書式 '$ {maven.dependency.com.foobar.target-jar .jar.path} 'は廃止予定ですので、代わりに' $ {com.foobar:target-jar:jar} 'を使用してください。 Exhibit Aでこれを試しても動作しますが、まだExhibit Bでは動作していません。 – thn929