回答:
exec mavenプラグインを参照してください。以下を使用してJavaクラスを実行できます。
mvn exec:java -Dexec.mainClass="com.example.Main" [-Dexec.args="argument1"] ...
呼び出しはmvn exec:java
、プラグイン構成がpom.xmlにあるかのように簡単にできます。Mojohausのプラグインサイトには、より詳細な例があります。
<project>
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>1.2.1</version>
<configuration>
<mainClass>com.example.Main</mainClass>
<arguments>
<argument>argument1</argument>
</arguments>
</configuration>
</plugin>
</plugins>
</build>
</project>
に次のプロパティを追加しますpom.xml
。main
メソッドが含まれている完全修飾クラス名(つまり、パッケージ名付き)を使用していることを確認してください。
<properties>
<exec.mainClass>fully-qualified-class-name</exec.mainClass>
</properties>
端末から、次のコマンドをトリガーします。
mvn clean compile exec:java
注-Dexec.args="xxx"
フラグを介してさらに引数を渡すことができます。
pom.xmlに新しいプラグインを追加する必要はありません。このコマンドを実行するだけです
mvn org.codehaus.mojo:exec-maven-plugin:1.5.0:java -Dexec.mainClass="com.example.Main" | grep -Ev '(^\[|Download\w+:)'
その他の使用法については、maven execプラグインを参照してください。
-Dexec.args="...arg..."
与えるプラグインExecのMavenを試してみます
clean package exec:java -P Class_Containing_Main_Method
次のMavenセットアップで、プロジェクトにMainメソッド(PSVM)が1つしかない場合も、コマンドはオプションです。
の<properties></properties>
セクションでクラスに言及することを忘れないでくださいpom.xml
:
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<java.main.class>com.test.service.MainTester</java.main.class>
</properties>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>1.2.1</version>
<configuration>
<mainClass>${java.main.class}</mainClass>
</configuration>
</plugin>
上記のMavenセットアップとSTS実行構成:
-P
プロファイル用です。これは、Mavenプロジェクトを実行するオプションでもあるため、共有しました。