我想将 命名 和 未命名的 参数都传递给main方法。
目前,我将参数传递为:
java -jar myfile.jar param1 param2
并将它们作为:
public static void main(String[] args) throws IOException {
String param1 = args[0];
String param2 = args[1];
}
但是,我想以一种更动态的方式传递参数-即:
以某种方式传递:
java -jar myJar param3name=param3 param2name=param2 param1name=param1 param5 param6
并以如下方式处理:
public static void main(String[] args) throws IOException {
//something like
String param3 = getvaluemethod("param3name");
String param1 = getvaluemethod("param1name");
.....
String param5 = args[n]
String param6 = args[n+1]
.....
}
我可以使用一些外部库来简化我的工作。
我已经看到了这一点,它并不全面。
关于如何完成任务的任何投入?
我使用Apache Commons
CLI解析Java命令行参数。示例可在此处找到,并可用于执行以下任何选项格式:
tar -zxvf foo.tar.gz
)du --human-readable --max-depth=1
)java -Djava.awt.headless=true -Djava.net.useSystemProxies=true Foo
)gcc -O2 foo.c
)ant -projecthelp
)的长选项问题内容: 我从Eclipse项目构建了可运行的JAR,该项目处理给定的XML文件并提取纯文本。但是,此版本要求文件在代码中进行硬编码。 有没有办法做这样的事情 并让jar在xml文件上执行? 我已经四处查看,给出的所有示例都与在命令行上编译JAR有关,而没有一个处理传入参数。 问题答案: 为什么不 ? 只需修改您的参数即可接收论据并对其进行操作。 在命令行中指定完整路径。
问题内容: 我将主类作为命令行参数传递给启动VM 现在我需要将命令行参数传递给该主类 有什么办法吗? 这就是我做的方式 这里的userVMargs是我的主类的类路径,也是该类的类路径,该类路径用于调用主类内部的类方法 和cmdLine拥有我的主类以及该类及其功能,我使用eclipse作为IDE来开发我的项目 问题答案: 如果要通过发送参数来启动VM,则应发送VM参数而不是程序参数。 程序参数是传递
public static void main(String[]args){ 公共类CustomConfiguration{ public static void readConfig(String filename){//从config.properties文件读取 } 我的问题是如何将“a”传递给CustomConfiguration类?
我有一个具有此签名的共享库方法: 我这样称呼它: 但我得到了一个错误: hudson.remoting.ProxyExcture:groovy.lang.MisSingMEDExcture: No签名的方法: dockerBuildWith.call()适用于参数类型:(java.util.LinkedHashMap,java.lang.String,java.lang.String,org.je
问题内容: 我已经创建了一个可执行jar,它可以正常工作。为了进行测试,我在main方法中使用了一个哑变量。 相反,在从php调用此可执行jar时,我需要传递一个字符串变量。 简而言之,我需要: 从PHP调用可执行jar 调用jar时,我需要将PHP的字符串变量传递给可执行jar中的类的main方法。 我该怎么做? 问题答案: 您还可以通过使用exec而不是来完全执行Java ,为它提供&和变量(
要启动Java程序,我可以传递如下参数: 在gradle命令行中有哪些好的方法可以做到这一点: 这是正在建造的。格雷德尔: