我想在我的Java程序中添加自定义命令行选项。这是一个例子:
java -cp my.jar package.Main -i input.data -o output.data
我怎样才能做到这一点。目前我只得到
JVMJ9VM007E Command-line option unrecognised: -i
编辑: java -version
java version "1.5.0"
Java(TM) 2 Runtime Environment, Standard Edition (build pap64dev-20080315 (SR7))
IBM J9 VM (build 2.3, J2RE 1.5.0 IBM J9 2.3 AIX ppc64-64 j9vmap6423-20080315 (JIT enabled)
J9VM - 20080314_17962_BHdSMr
JIT - 20080130_0718ifx2_r8
GC - 200802_08)
JCL - 20080314
答案 0 :(得分:2)
我刚在Windows JVM上试过这个:
java版“1.5.0” Java(TM)2运行时环境,标准版(构建pwi32devifx-20080907(SR 8a + IZ29767 + IZ30684 + IZ31214 + IZ31213)) IBM J9 VM(build 2.3,J2RE 1.5.0 IBM J9 2.3 Windows XP x86-32 j9vmwi3223ifx-2008 0811(已启用JIT) J9VM - 20080809_21892_lHdSMr JIT - 20080620_1845_r8 GC - 200806_19) JCL - 20080907
正如所料,它的工作正常。如果您的命令行如下所示,您的错误消息就是我可能期望的那样:
java -cp my.jar -i input.data -o output.data package.Main
您是否正在使用任何可能重新排序参数的Java shell包装器?
答案 1 :(得分:1)
通过使用args4j等内容,可以更轻松地使用参数。
答案 2 :(得分:0)
我很确定你能做到这一点。至少在Sun的java 1.6实现中。
答案 3 :(得分:0)
我假设“my.jar”不是你真正的类路径。您的实际类路径是否包含路径分隔符(即多个路径)?如果是这样,您使用的是正确的系统吗?请记住,* nix系统使用:
,而Windows使用;
。
答案 4 :(得分:0)
我想我找到了解决方案:问题是我运行了一个普通的.jar文件,好像它是带有-jar
参数的可执行文件.jar。这似乎引起了烦恼。