2

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

5 回答 5

2

我刚刚在我的 Windows JVM 上试过这个:

java 版本“1.5.0”Java(TM) 2 运行时环境,标准版(构建 pwi32devifx-20080907(SR 8a + IZ29767 + IZ30684 + IZ31214 + IZ31213))IBM J9 VM(构建 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 外壳包装器?

于 2010-06-28T13:08:23.083 回答
1

您可以通过使用诸如args4j 之类的东西来更轻松地使用参数。

于 2010-06-28T13:23:49.940 回答
0

我想我找到了解决方案:问题是我运行了一个普通的 .jar 文件,就好像它是带有-jar参数的可执行 .jar 一样。这似乎引起了烦恼。

于 2010-06-30T07:04:21.063 回答
0

我假设“my.jar”不是您的实际类路径。您的实际类路径中是否有路径分隔符(即多个路径)?如果是这样,您是否为您的系统使用了正确的系统?请记住,*nix 系统使用:Windows 使用;.

于 2010-06-28T13:40:15.373 回答
0

我很确定你可以做到这一点。至少在 Sun 的 java 1.6 实现中。

于 2010-06-28T11:43:01.407 回答