Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Администрирование *NIX систем > SUSE 10.0 PATH для Java


Автор: Metal_Heart 11.7.2006, 14:23
Итак, имею:
SuSe 10.0 и установленную Java (RPM)

Хочу:
прописать пути к Java

Делал:
добавил в profile.local
Код

# JAVA:
export JAVA_HOME=/usr/java/jre1.5.0_07
export JDK_HOME=/usr/java/jdk1.5.0_07

set PATH=.;$PATH;$JAVA_HOME;$JAVA_HOME/bin/;$JAVA_HOME/javaws/;$JAVA_HOME/lib/;$JAVA_HOME/lib/ext/;$JDK_HOME;$JDK_HOME/bin/;$JDK_HOME/javaws/;$JDK_HOME/lib/;$JDK_HOME/lib/ext/;
export PATH


вывод $PATH
Код

bash: /home/abcd/bin:/usr/local/bin:/usr/bin:/usr/X11R6/bin:/bin:/usr/games:/opt/gnome/bin:
/opt/kde3/bin:/usr/lib/mit/bin:/usr/lib/mit/sbin:
No such file or directory


т.е. не добавилось ничего нового (это случайно не из-за "No such file or directory"?)

Был здесь:
http://en.opensuse.org/Installing_Sun%27s_Java_on_SUSE_Linux

результат выполнения команды:
Код

update-alternatives --config java

пустая строка.

Как и где же эти пути прописывать?
Можно, конечно и ссылками/прямыми_путями обойтись, но хотелось бы по научному... 

Автор: Ch0bits 11.7.2006, 19:59
Цитата(Metal_Heart @  11.7.2006,  15:23 Найти цитируемый пост)
SuSe 10.0 и установленную Java (RPM)

Ты имеешь ввиду java 1.4.2 которая входит в дистрибутив? Зачем к ней прописывать путь? Не совсем понял.

Я работал с SuSE 9.3 и 10.1. В обоих случаях скачивал и устанавливал нормальный дистрибутив JDK 1.5 (сейчас уже 1.6) или JRE. Дистрибурив rpm обёрнутый скриптом сам всё настроит как надо, устанавливается под root'ом через shell.
Код

su
sh jdk-6-beta2-linux-i586-rpm.bin

И никаких замарочек.  smile 
Кстати версия i586 устанавливается и работает на x86_64.

Не знаю где ты достал голый rpm когда Sun поставляет bin, но нормальные инсталляшки тут:
http://java.sun.com/downloads/  

Автор: Metal_Heart 12.7.2006, 10:44
Ch0bits, ты совсем невнимательно читал! Вопрос в путях!!!

меня не устраивала 
Цитата(Ch0bits @  11.7.2006,  19:59 Найти цитируемый пост)
Ты имеешь ввиду java 1.4.2 которая входит в дистрибутив?

и я как раз и взал нормальную c 
Цитата(Ch0bits @  11.7.2006,  19:59 Найти цитируемый пост)
http://java.sun.com/downloads/  

Еще раз: Вопрос в путях!!!




  

Автор: bilbobagginz 13.7.2006, 10:59
вообще, если тебе все это надо под твоим пользователем, лучше всего править свои, а не системные файлы - .bashrc, .profile, .bash_profile и т.д. - они сорсятся последними, и поэтому они меньше всего проблем создадут.
Если же ты хочешь сделать общесистемное изменение, то Metal_Heart, когда ты запускаешь YaST, то при любом изменении он запускает целую серию скриптов. я помню, что один из них - связан с java. вот его и надо ковырять. ( не знаю каким по счёту rc.local сорсится, но можно во все начальные скрипты по echo "in <имя скрипта>" вставить, и узнать точный порядок запуска. а вообще думаю стоит обратиться к мануалам как настраивать java не с rpm, "неродную джаву".


пока.  

Автор: Metal_Heart 13.7.2006, 11:52
bilbobagginz, благодрю, пойду разбираться.

П.С.
java - то как раз родная! Она поставляется в RPM, но чтоб запросить у пользователя подтверждение о соглашении с лицензией этот RPM обенули ещё во что-то.

После соглашения с лицензией из jdk-ххх-linux-i586-rpm.bin выделяется сам jdk-ххх-linux-i586-rpm
Это что-то вроде архива с паролем smile

Ну, а затем ставь этот RPM стандартными средствами....

Почему это вас так смутило?
 

Автор: Metal_Heart 13.7.2006, 14:20
Я, наконец-то, кое-что нарыл, и так:

вместо:
set PATH=$PATH;$JAVA_HOME;$JAVA .......  (это в виндах так пишется)

надо:
set PATH=$PATH:$JAVA_HOME:$JAVA ....... 

во-вторых, у меня не прокатывают изменения в переменной PATH в файле .profile
(именно с ним, а не с profile.local я с самого начала и ковырялся, извините за дезу smile  )

работает, если изменения PATH указывать в .bashrc

Спасибо за поддержку. 

Автор: bilbobagginz 13.7.2006, 19:25
дело не в "работает" или нет. дело в порядке запуска. в bash можно переписывать переменные сколько хочешь, никакой защиты, поэтому последний устанавливающий значение переменной, напр. PATH, устанавливает его на то, что ты видишь.

пока. 

Автор: Metal_Heart 14.7.2006, 09:32
Я понял, что дело в порядке запуска, значит в моем случае между .profile и .bashrc кто-то переинициализировал этот PATH.

В последний день перед отпуском - думать уже совсем не хочеться, а что надо ещё доделать - не видно и края.

По идее, вопрос можно назвать решённым, но в принципе - не до конца. Ладно, вернусь - может быть и продолжим smile 


Ещё одно решение:
http://forum.vingrad.ru/topic-139506.html

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)