Mavenを使用してプログラムを実行するにはどうすればいいですか? 質問する

Mavenを使用してプログラムを実行するにはどうすればいいですか? 質問する

Maven のゴールで Java クラスの実行をトリガーしたいと思います。Makefile次の行を使用して移行しようとしています:

neotest:
    mvn exec:java -Dexec.mainClass="org.dhappy.test.NeoTraverse"

そして、現在行っているmvn neotestことを制作していきたいと思っています。make neotest

どちらもexecプラグインドキュメントまた、Maven Ant タスクページにはわかりやすい例が一切ありませんでした。

現在、私は次の場所にいます:

<plugin>
  <groupId>org.codehaus.mojo</groupId>
  <artifactId>exec-maven-plugin</artifactId>
  <version>1.1</version>
  <executions><execution>
    <goals><goal>java</goal></goals>
  </execution></executions>
  <configuration>
    <mainClass>org.dhappy.test.NeoTraverse</mainClass>
  </configuration>
</plugin>

ただし、コマンドラインからプラグインをトリガーする方法はわかりません。

ベストアンサー1

とともにグローバル構成exec-maven-plugin に定義したもの:

<plugin>
  <groupId>org.codehaus.mojo</groupId>
  <artifactId>exec-maven-plugin</artifactId>
  <version>1.4.0</version>
  <configuration>
    <mainClass>org.dhappy.test.NeoTraverse</mainClass>
  </configuration>
</plugin>

mvn exec:javaコマンドラインで呼び出すと、クラスを実行するように設定されたプラグインが呼び出されますorg.dhappy.test.NeoTraverse

したがって、コマンドラインからプラグインをトリガーするには、次のコマンドを実行します。

mvn exec:java

さて、標準ビルドの一部として目標を実行したい場合はexec:java、目標を特定の段階デフォルトのライフサイクルこれを行うには、要素phase内で目標をバインドする を宣言しますexecution

<plugin>
  <groupId>org.codehaus.mojo</groupId>
  <artifactId>exec-maven-plugin</artifactId>
  <version>1.4</version>
  <executions>
    <execution>
      <id>my-execution</id>
      <phase>package</phase>
      <goals>
        <goal>java</goal>
      </goals>
    </execution>
  </executions>
  <configuration>
    <mainClass>org.dhappy.test.NeoTraverse</mainClass>
  </configuration>
</plugin>

この例では、クラスはpackageフェーズ中に実行されます。これは単なる例なので、ニーズに合わせて調整してください。プラグイン バージョン 1.1 でも動作します。

おすすめ記事