Maven:如何从命令行传递参数运行.java文件
我有以下问题。 我想从一个Main.java
文件的命令行运行mvn
。 Main.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