2010-05-18 1 views
4

Во-первых, я бегу Ubuntu 9.10Java Classpath Проблемы в Ubuntu

Я редактировал/и т.д./файл окружения выглядеть следующим образом:

PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games" 
JAVA_HOME="/usr/lib/jvm/java-6-sun-1.6.0.20" 
CLASSPATH="/home/travis/freetts/lib/freetts.jar:/home/travis/freetts/lib/jsapi.jar:." 

Я затем запустить «источник/и т.д./окружающей среды ", чтобы убедиться, что изменения включены. Тогда я попробовать скомпилировать мой простой тест программы с помощью этого:

JAVAC Test.java

Он выкидывает несколько ошибок, но когда я компилирую, как это:

Javac -cp/дома/Трэвис/FreeTTS/Библиотека/freetts.jar: /home/travis/freetts/lib/jsapi.jar :. Test.java

Это работает просто отлично, это заставляет меня поверить, что по какой-то причине javac не видит переменную окружения CLASSPATH? Я могу повторить это и все, что в терминале:

эхо $ CLASSPATH дает мне то, что я положил в

Любая помощь по этому вопросу было бы весьма признателен..

+0

Каков результат работы java -version? Можете ли вы также запустить update-java-alternatives -l и опубликовать вывод Можете ли вы включить сообщения об ошибках, которые вы получаете? – lucasweb

+0

Что происходит, когда вы запускаете java, а не javac? –

+0

У меня нет скомпилированного класса для запуска java ... Файл Test.java - это всего лишь простой код. Просто бросает ошибки, как ожидалось. – Travis

ответ

7

Это работает, если вы положили export в /etc/environment?

export PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games" 
export JAVA_HOME="/usr/lib/jvm/java-6-sun-1.6.0.20" 
export CLASSPATH="/home/travis/freetts/lib/freetts.jar:/home/travis/freetts/lib/jsapi.jar:." 

Я предполагаю, что CLASSPATH не установлен, прежде чем вы источник сценарий, и поэтому вы только настройки локальной переменной.


Вот пример того, что может происходить:

[email protected]:~$ Z=foo  # Only sets for this shell 
[email protected]:~$ echo $Z 
foo 
[email protected]:~$ /bin/bash 
[email protected]:~$ echo $Z  # Not set in sub-processes 

[email protected]:~$ exit 
exit 
[email protected]:~$ export Z  # When exported, is part of environment 
[email protected]:~$ /bin/bash 
[email protected]:~$ echo $Z  # And now visible to sub-processes 
foo 
[email protected]:~$ exit 
exit 
[email protected]:~$ help export 
export: export [-nf] [name[=value] ...] or export -p 
    NAMEs are marked for automatic export to the environment of 
    subsequently executed commands. If the -f option is given, 
    the NAMEs refer to functions. If no NAMEs are given, or if '-p' 
    is given, a list of all names that are exported in this shell is 
    printed. An argument of '-n' says to remove the export property 
    from subsequent NAMEs. An argument of '--' disables further option 
    processing. 
+0

Благодарим вас за столь необходимый урок в вариации панорамы! – Travis

+0

Настройка общесистемного «CLASSPATH» - это не очень хорошая идея - эти JAR затем будут включены для любого приложения Java, которое вы запускаете в своей системе. – Jesper

+0

так @jesper, что такое работа вокруг? Что ты предлагаешь? –

0

ли у экспортировать все переменные окружения в файле профиля? я не видел никакой команды экспорта в файле, указанном u ...... использовать экспорт и попробовать один раз ...

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

  • Нет связанных вопросов^_^