2013-07-09 2 views
1

Я могу запустить Java в Cygwin + окне с использованием следующих параметров (каталог SW/баночка имеет несколько опарника, и я выбираю соответствующие одну из командной строки Java):разработки приложений в UNIX

CLASSPATH=.;C:\sw\java_6u35\lib\\*;C:\sw\jar\\* 
java org.antlr.Tool Calc.g 

Но у меня возникли следующие проблемы при работе в Linux:

(1) Я не могу установить имя каталога в пути к классам, следующая строка сообщает об ошибке:

setenv CLASSPATH .:/sw/jdk1.6.0_35/lib/\*:/sw/jar/* 

(2), когда я явно работать с -jar op я все еще получаю сообщение об ошибке:

java -jar /sw/jar/antlr-3.4.jar org.antlr.Tool Calc.g 
error(7): cannot find or open file: org.antlr.Tool 

Однако класс существует. Когда я jar tf /sw/jar/antlr-3.4.jar, я получаю:

... 
org/antlr/Tool.class 

Так что мой вопрос: (а) как указать в UNIX, что моя баночка-каталог ххх, который содержит несколько опарника, и (2) Как выбрать соответствующая банка из этого каталога во время выполнения?

+0

Какую оболочку вы используете в Linux? Если 'setenv' дает ошибку, вероятно, вы не используете csh. – devnull

+0

Да, я использую csh. – R71

ответ

3

Чтобы указать несколько баночек в директории, непосредственно в команде Java, используйте этот

java -cp "/sw/jar/*" org.antlr.Tool Calc.g

Это будет включать в себя все банки

Если вы хотите установить путь к классам в системах Unix/Linux, используйте это

export CLASSPATH=/sw/jar/a.jar:/sw/jar/b.jar

0

в UNIX использовать это, чтобы установить: путь к классам

export CLASSPATH=myClassPath 

о не найти свою баночку, вы используете ведущую косую черту (/), что означает, что вы путь является абсолютным (не по отношению к вашему дому папка) это то, что вы хотите?

, если вы хотите, чтобы путь к быть по отношению к вашей папке попробовать:

java -jar ~/mypathToMyJar 
+0

Да, я хочу абсолютный путь. – R71

Смежные вопросы