是否有一个Maven“阶段”或“目标”来简单地执行一个Java类的主要方法?我有,我想简单地做一些像“MVN运行”。

手动测试项目
有帮助吗?

解决方案

请参阅href="http://www.mojohaus.org/exec-maven-plugin/" rel="noreferrer"> EXEC maven插件中

mvn exec:java -Dexec.mainClass="com.example.Main" [-Dexec.args="argument1"] ...

如果插件配置是在你的pom.xml的调用可以像mvn exec:java一样简单。在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>

其他提示

在上面提到的答案是正确的,但我简化它像me.Go菜鸟到项目的POM文件。添加一个新的属性exec.mainClass,并给予其为包含main方法的类值。对我来说,它是在DriverClass mainpkg。改变它根据你的项目。 “在这里输入的图像描述”

做完这些导航到包含项目的pom.xml并在命令提示符下运行mvn exec:java这个文件夹。这应该调用的主要方法。

1。编辑的pom.xml

添加以下属性中pom.xml。确保您使用完全限定类名(与包名称即),其中包含main方法:

<properties>
        <exec.mainClass>${fully-qualified-class-name}</exec.mainClass>
</properties>

2。运行命令

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

mvn clean compile exec:java

注意您可以通过-Dexec.args="xxx"标志传递进一步参数。

提供的 Exec的Maven插件一试

没有必要在pom.xml中添加新的插件。只是运行此命令

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

请参阅行家EXEC插件更多的使用情况。

clean package exec:java -P Class_Containing_Main_Method命令也是一种选择,如果你在项目中仅具有一个主方法(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设置:

“在这里输入的图像描述”

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top