如何添加自定义Java命令行选项?

时间:2010-06-28 11:31:09

标签: java bash command-line cmd options

我想在我的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

5 个答案:

答案 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。这似乎引起了烦恼。