Maven:如何从命令行传递参数运行.java文件

我有以下问题。 我想从一个Main.java文件的命令行运行mvnMain.java接受一个参数。 我怎么从命令行做到这一点?

我试图find一个例子,但我没有成功。 有人能帮我一个例子吗?

我看了看,但不太明白我应该做什么。

另外, 如何从不同于Main.java文件夹的文件夹执行该命令?

例如Main.java位于my/java/program/Main.java 。 我应该input什么

 mvn exec:java -Dexec.mainClass="what to put here?" -Dexec.args="arg0 arg1 arg2" 

你可以运行: mvn exec:exec -Dexec.args="arg1"

这会将参数arg1传递给你的程序。

您应该指定完全限定的主类,例如包testing中需要的Main.java

 mvn exec:java -Dexec.mainClass=test.Main 

通过使用-f参数,如此处所述 ,也可以从其他目录运行。

 mvn exec:java -Dexec.mainClass=test.Main -f folder/pom.xm 

对于多个参数,只需在命令行中用空格分隔即可。

 mvn exec:java -Dexec.mainClass=test.Main -Dexec.args="arg1 arg2 arg3" 

对于以空格分隔的参数,您可以在引号内使用'argument separated with space'进行分组。

 mvn exec:java -Dexec.mainClass=test.Main -Dexec.args="'argument separated with space' 'another one'" 

除了使用mvn exec:java运行它外,还可以使用mvn exec:exec运行它

 mvn exec:exec -Dexec.executable="java" -Dexec.args="-classpath %classpath your.package.MainClass" 

看看maven-exec-plugin 。 正确使用,你可以使它编译你的java类,然后简单地使用类path上的编译类执行java。 要启动,所有你需要做的就是使用

 mvn exec:exec