Answers:
请参阅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"
flag 传递更多参数。
无需在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
如果项目中只有一个Main方法(PSVM),并且具有以下Maven设置,则命令也是一个选项。
不要忘了在以下<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>
STS运行配置以及上述Maven设置:
-P
用于个人资料。分享了这一点,因为它也是运行Maven项目的一种选择。