前言
看到这个问题,其实穷尽脑汁,好像没想到什么场景会使用这个。小弟知识还不到家!!
不过,关注度还挺高,毕竟有专门解决方案,那么必然会有很好的场景等待!
我们将其记录下来,如果有一天,可以直接使用。
问题复现
问题比较简单:
采用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+:)'
问题总结
其实技术是无止境的,不懂得永远在路上。保持持续学习,才是王道。