14

同様の質問があります:この前の質問

Netbeans を使用して Java プロジェクトを Maven に変換しています。プログラムを起動するために必要なコマンドライン引数の 1 つは、-javaagent 設定です。例えば

-javaagent:lib/eclipselink.jar

Netbeans で開発用のアプリケーションを起動しようとしています (最終的な展開用にカスタム起動スクリプトを作成します)。

Maven を使用して Eclipselink の依存関係を管理しているため、Eclipselink jar ファイルの正確なファイル名がわからない場合があります。pom.xml ファイルで構成したバージョンに基づいて、eclipselink-2.1.1.jar のようなものになる可能性があります。

正確な eclipselink ファイル名をコマンドライン引数に渡すように exec-maven-plugin を構成するにはどうすればよいですか?

<plugin>
    <groupId>org.codehaus.mojo</groupId>
    <artifactId>exec-maven-plugin</artifactId>
    <configuration>
       <executable>java</executable>
           <arguments>
               <argument>-Xmx1000m</argument>
               <argument>-javaagent:lib/eclipselink.jar</argument> <==== HELP?
               <argument>-classpath</argument>
               <classpath/>
               <argument>my.App</argument>
           </arguments>
    </configuration>
</plugin>
4

3 に答える 3

15

うまくいきそうな方法を思いつきました。

最初に、maven-dependency-pluginをセットアップして、常に「プロパティ」ゴールを実行します。

<plugin>
    <artifactId>maven-dependency-plugin</artifactId>
    <version>2.5.1</version>
    <executions>
        <execution>
            <id>getClasspathFilenames</id>
            <goals>
                <goal>properties</goal>
            </goals>
        </execution>
     </executions>
</plugin>

後で、フォームでここに文書化されているように、設定したプロパティを使用します。

groupId:artifactId:type:[classifier]

例えば

<argument>-javaagent:${mygroup:eclipselink:jar}</argument>
于 2013-02-08T17:45:23.823 に答える
3

Eclipse リンク バージョンのプロパティを定義し、そのプロパティを<dependency>exec プラグインで使用するだけです。

    <properties>
        <eclipselink.version>2.4.0</eclipselink.version>
    </properties>
    <dependency>
        <groupId>org.eclipse.persistence</groupId>
        <artifactId>eclipselink</artifactId>
        <version>${eclipselink.version}</version>
    </dependency>
    ...
    <plugin>
      <groupId>org.codehaus.mojo</groupId>
      <artifactId>exec-maven-plugin</artifactId>
      <configuration>
      <executable>java</executable>
       <arguments>
           <argument>-Xmx1000m</argument>
           <argument>-javaagent:lib/eclipselink-${eclipselink.version}.jar</argument>
           <argument>-classpath</argument>
           <classpath/>
           <argument>my.App</argument>
       </arguments>
     </configuration>
   </plugin>
于 2013-02-08T17:30:16.413 に答える
0

maven-dependency-plugin と exec-maven-plugin はノードの下に配置する必要があります。そうしないと機能しません

于 2017-02-28T07:40:19.330 に答える