是否存在一个Maven“阶段”或“目标”来简单地执行Java类的主方法?我有一个项目,我想通过简单地做一些像“mvn运行”手动测试。
参见Exec maven插件。你可以使用以下方法运行Java类:
mvn exec:java -Dexec.mainClass="com.example.Main" [-Dexec.args="argument1"] ...
如果插件配置在pom.xml中,调用可以像mvn exec:java一样简单。Mojohaus上的插件站点有一个更详细的示例。
mvn exec:java
<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>
试试Exec Maven插件
如果项目中只有一个Main方法(PSVM),使用下面的Maven安装程序,clean package exec:java -P Class_Containing_Main_Method命令也是一个选项。
clean package exec:java -P Class_Containing_Main_Method
不要忘记在pom.xml的<properties></properties>部分提到类:
pom.xml
<properties></properties>
<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设置:
exec.mainClass
mainpkg
DriverClass
完成此操作后,导航到包含项目pom.xml的文件夹,并在命令提示符mvn exec:java上运行此命令。这应该调用main方法。
不需要在pom.xml中添加新的插件。只需运行这个命令
mvn org.codehaus.mojo:exec-maven-plugin:1.5.0:java -Dexec.mainClass="com.example.Main" | grep -Ev '(^\[|Download\w+:)'
更多用法参见Maven exec插件。
在pom.xml中添加以下属性。确保使用包含main方法的完全限定类名(即包名):
main
<properties> <exec.mainClass>fully-qualified-class-name</exec.mainClass> </properties>
现在从终端,触发以下命令:
mvn clean compile exec:java
你可以通过-Dexec.args="xxx"标志传递进一步的参数。
-Dexec.args="xxx"