Maven Run项目

Ver*_*gen 215 java maven

是否有Maven"阶段"或"目标"来简单地执行Java类的主要方法?我有一个项目,我想通过简单地执行像"mvn run"这样的操作来手动测试.

Rob*_*anu 329

请参阅exec maven插件.您可以使用以下命令运行Java类:

mvn exec:java -Dexec.mainClass="com.example.Main" [-Dexec.args="argument1"] ...
Run Code Online (Sandbox Code Playgroud)

调用可以像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>
Run Code Online (Sandbox Code Playgroud)

  • 这就是答案的样子!参考+简单的例子+复杂的例子.这个简单的例子为我做了诀窍(不再需要配置) (11认同)
  • 是否有此插件的更新版本(比 1.2.1 更新?) (2认同)

shs*_*hnk 13

上面提到的答案是正确的,但我正在为像我这样的新手简化它.转到你项目的pom文件.添加一个新属性exec.mainClass并将其值作为包含main方法的类.对我来说它是DriverClassmainpkg.根据您的项目更改它. 在此输入图像描述

完成此操作后,导航到包含项目的文件夹,pom.xml并在命令提示符下运行它mvn exec:java.这应该调用main方法.


Sai*_*pta 13

1.编辑POM.xml

在中添加以下属性pom.xml。确保使用包含main方法的标准类名(即带有包名):

<properties>
        <exec.mainClass>${fully-qualified-class-name}</exec.mainClass>
</properties>
Run Code Online (Sandbox Code Playgroud)

2.运行命令

现在从终端,触发以下命令:

mvn clean compile exec:java
Run Code Online (Sandbox Code Playgroud)

注意您可以通过-Dexec.args="xxx"flag 传递更多参数。


aru*_*net 8

无需在pom.xml中添加新插件.只需运行此命令

mvn org.codehaus.mojo:exec-maven-plugin:1.5.0:java -Dexec.mainClass="com.example.Main" | grep -Ev '(^\[|Download\w+:)' 
Run Code Online (Sandbox Code Playgroud)

有关更多用法,请参阅maven exec插件.