Maven运行项目
有没有一个Maven“阶段”或“目标”来简单地执行一个Java类的主要方法? 我有一个项目,我想通过只是做一些像“mvn运行”手动testing。
请参阅exec maven插件 。 您可以使用以下方式运行Java类:
mvn exec:java -Dexec.mainClass="com.example.Main" [-Dexec.args="argument1"] ...
调用可以是一个简单的mvn exec:java
如果插件configuration在你的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>
上面提到的答案是正确的,但我正在简化它像我这样的noobs。去你的项目的POM文件。 添加一个新的属性exec.mainClass
,并将其值作为包含主方法的类。 对我来说,它是在mainpkg
中的DriverClass
。 根据你的项目改变它。
完成此操作后,导航到包含项目的pom.xml
的文件夹,并在命令提示符mvn exec:java
。 这应该是主要的方法。
给Exec Maven插件一个尝试
不需要在pom.xml中添加新的插件。 只要运行这个命令
mvn org.codehaus.mojo:exec-maven-plugin:1.5.0:java -Dexec.mainClass="com.example.Main" | grep -Ev '(^\[|Download\w+:)'
请参阅maven exec插件以获取更多用法。
clean package exec:java -P Class_Containing_Main_Method
命令也是一个选项,如果在项目中只有一个Main方法(PSVM),则使用以下Maven安装程序。
不要忘记在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运行configuration以及上面的Maven安装程序: