JAVA_HOME

10 отговора 280 прегледа
#1

JAVA_HOME

Niakoj znaeli kak programno moga da poznaia kade se namira instalirana java. Triabwa mi da setna JAVA_HOME programno.
Mersi.

Отговор
в отговор на machine head #2

Re: JAVA_HOME

Ами принципно System.getProperty("java.home"), ама то ако тепърва ще го сетваш и сочи на некоректно място... Я дай малко повече инфо за проблема.

Отговор
в отговор на Whitelion #3

Re: JAVA_HOME

za da startiram tomcat pod win mi triabwa da e setnato JAVA_HOME. Az ne iskam da karam klienta da si go setwa i zatowa mi triabwa niakakaw nachin da moga da poznawam kade e instalirana java. Ustrojwat me wsiakakwi nachini, dori i s BAT file.

Отговор
в отговор на machine head #4

Re: JAVA_HOME

Аха, ясна е болката.
Как да разбереш къде ти е Java-та, вече споменах. Проблемът е, че сетването на променливи от обкръжението в повечето случаи е machine dependant... Та какво може да се направи при теб. Можеш да си напишеш една малка програмка, която само ти print-ва java.home, т.е. къде ти е инсталирана Java-та. После си правиш едно BAT файлче, което може да изглежда примерно ей така:

@for /F "usebackq delims=" %%i IN (`%2`) DO @set %1=%%i

което да речем кръщаваш setenv.bat. Извикваш го с параметри setenv ИМЕ_НА_ПРОМЕНЛИВА СТОЙНОСТ

От тук насетне можеш да си го викнеш така

setenv JAVA_HOME "java Име_на_програмката_която_принти_JAVA_HOME"

и си в бизнеса.
Дано съм помогнал.

Отговор
в отговор на Whitelion #5

Re: JAVA_HOME

mersi,
interesuwa me za momenta samo WIN w linux znam kak da go otkrija.

obache problema mi e da razbera kade mi e tochno javata. naprimer wish kakaw mi e path:

Path=C:\Java\j2sdkee1.3.1\bin;C:\Java\JBuilder7\jdk1.3.1\bin;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;

eto kakwo mi dawa towa:

System.out.println("HOME:" + System.getProperty("java.home"));

>>> HOME:C:\Java\JBuilder7\jdk1.3.1\jre

zasto li?

Отговор
в отговор на machine head #6

Re: JAVA_HOME

Странно. Току що го пробвах, като изрично добавих още един път към друго JDK преди стандартното и java.home веднага посочи него, след като пуснах програмката. Я погледни добре ли си го написал. Това с двете "е"-та нещо ме съмнява.

Отговор
в отговор на Whitelion #7

Re: JAVA_HOME

C:\Java\j2sdkee1.3.1\bin

e pat kam J2EE

Отговор
в отговор на machine head #8

Re: JAVA_HOME

Пределно ми е ясно. Това което искам да кажа е, че ако в C:\Java\j2sdkee1.3.1\bin имаш java.exe и изпълняваш програмата именно чрез това exe, няма никакъв начин java.home да ти посочи друг път. Ама абсолютно никакъв начин няма. Йерархията в претърсването на пътя за изпълним файл е много строго формулирана и не може да прескочи първия, за да пусне java.exe от втория (освен ако в първия път няма такъв файл). Щом нещата в Linux са ти ясни, сам знаеш какви security issues има край приоритета в пътя. Огледай си внимателно пътя, защото най-вероятно там нещо не е наред. Най-добре си пусни един command prompt, огледай малко с еcho-та и поекспериментирай. Няма начин да не стане.

Отговор
в отговор на Whitelion #9

Re: JAVA_HOME

мерси за времето което отдели, ще се оправя.

всъщност намерих защо е така. Под win имам инсталиран Java plug-in и в registry имам сетнато java.home.

Отговор
в отговор на machine head #10

Re: JAVA_HOME

Няма проблеми, дано да съм ти помогнал

Отговор
в отговор на Whitelion #11

Re: JAVA_HOME

Chakai be chovek, v java EE niama java.exe! Kak da ti se izpalni javata s tova!

Отговор