使用Maven命令行运行Java main方法| Java Debug 笔记

994 阅读1分钟

本文正在参加「Java主题月 - Java Debug笔记活动」,详情查看 活动链接

image.png

前言

看到这个问题,其实穷尽脑汁,好像没想到什么场景会使用这个。小弟知识还不到家!!

不过,关注度还挺高,毕竟有专门解决方案,那么必然会有很好的场景等待!

我们将其记录下来,如果有一天,可以直接使用。

问题复现

问题比较简单:

采用Maven来构建一个简单的Java应用程序,想通过Maven的命令行,来完成对于Java应用程序Main方法的执行。

类似于:

mvn run-app com.example.MainClass

问题解决

解决这个问题的方案,其实蛮简单,就是采用Maven的插件,完成这个任务。

Maven提供一个插件,maven-exec-plugin 它可以承担这个任务,执行Main方法。

我们来了解下,实现方式。

  • 首先保证自己的Jdk环境,这个就不多说了,因为既然写Java程序,JVM环境是必要的。

  • 然后,修改pom.xml文件

<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>
<properties>
        <exec.mainClass>类全路径名</exec.mainClass>
</properties>
  • 执行命令

mvn clean compile exec:java

可以通过 -Dexec.args="xxx" 添加运行参数

如果实在不想添加插件,可以执行

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

问题总结

其实技术是无止境的,不懂得永远在路上。保持持续学习,才是王道。

PS:尾部推广,欢迎小伙伴关注我的公众号。 公众号,长期更新原创、经典转载技术、架构知识

image.png