Как добавить пользовательские параметры командной строки Java? - PullRequest
2 голосов
/ 28 июня 2010

Я хотел бы добавить пользовательские параметры командной строки в мою программу 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 ]

2 голосов
/ 28 июня 2010

Я только что попробовал это на моей Windows JVM:

Java-версия "1.5.0" Java (TM) 2 Среда выполнения, Standard Edition (сборка 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 - 200803 200 * 200 1006) 196* И, как и следовало ожидать, это работает просто отлично.Ваше сообщение об ошибке - это то, чего я мог бы ожидать, если бы ваша командная строка выглядела так:

 java -cp my.jar  -i input.data -o output.data package.Main

Используете ли вы какой-либо тип оболочки оболочки для Java, который может переупорядочить аргументы?

1 голос
/ 28 июня 2010

Вы можете упростить использование аргументов, используя что-то вроде args4j .

0 голосов
/ 30 июня 2010

Полагаю, я нашел решение: проблема заключалась в том, что я запустил обычный файл .jar, как будто это исполняемый файл .jar с аргументом -jar. Это, казалось, вызывало раздражение.

0 голосов
/ 28 июня 2010

Я предполагаю, что "my.jar" не ваш настоящий путь к классу.Есть ли в вашем фактическом classpath разделители пути (то есть несколько путей)?Если да, то используете ли вы правильный вариант для своей системы?Помните, что * nix-системы используют :, в то время как Windows использует ;.

0 голосов
/ 28 июня 2010

Я уверен, что вы можете сделать это. По крайней мере, в Sun реализована версия Java 1.6.

...