如何添加自定义Java命令行选项?
我想在Java程序中添加自定义命令行选项。下面是一个例子:如何添加自定义Java命令行选项?,java,bash,command-line,cmd,options,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 (bui
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
我很肯定你能做到。至少在Sun的java 1.6实现中。我刚刚在我的Windows JVM上尝试过:
java版本“1.5.0”
Java(TM)2运行时环境,标准版(构建pwi32devifx-20080907(SR
8a+IZ29767+IZ30684+IZ31214+IZ31213))
IBM J9虚拟机(版本2.3,J2RE 1.5.0 IBM J9 2.3 Windows XP x86-32 j9vmwi3223ifx-2008
0811(启用JIT)
J9VM-200809_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包装器?您可以通过使用以下内容来简化参数的使用。我假设“my.jar”不是您的实际类路径。您的实际类路径中是否有路径分隔符(即多条路径)?如果是,您的系统使用的是正确的吗?记住*nix系统使用:
,而Windows使用代码> 我想我已经找到了解决方案:问题是我运行了一个普通的.jar文件,就好像它是一个可执行的.jar文件一样,带有-jar
参数。这似乎引起了麻烦。java-version的输出是什么?在我的主方法中,我使用与您类似的命令行访问'-I'作为args[0]。实际上在Eclipse中,它也可以正常工作,但在我们的服务器上不行。尝试创建一个没有jar的类,并使用命令行args运行它。如果它仍然给出错误,IBM支持站点是一个更好的找到答案的地方。这是一个正确的说法,但与实际问题完全无关。在IBM J9 VM(build 2.3,J2RE 1.5.0 IBM J9 2.3 Linux amd64-64 j9vmxa6423-20081129(启用JIT)上也尝试了这一点,使用一个只转储参数的小工具,效果很好。公共类测试{public static void main(String…args){System.out.println(java.util.Arrays.deepToString(args));}