[질문]java 가 설치된 경로를 알아내려면?

kwanghui96의 이미지

C로 코딩을 해야하는데, Java 프로그램을 호출해야할 일이 생겼습니다.

(타사에서 제공한 java 모듈을 사용해야 하거든요)

그래서 command로

system("java ~~~~ > returnfile") 

이런식으로 한다음에 결과는 returnfile을 읽어서 얻어오는 방식으로

하려고 합니다.

그런데 Java 관련 환경(SDK, RuntimeEnv)이 설치되어 있는지를 Detect

하고 해당 경로를 환경 변수 PATH로 등록시키든지 아니면 실행시

절대경로를 앞에 붙혀서

system("/opt/j2sdk_nb/j2sdk1.4.2/bin/java ~~~") 

이런식으로

해줘야 할 것 같은데요.

사용자가 사용하는 버전마다 경로가 다를 것 같은데 어떻게 알 수 있을까요?

(윈도우라면 레지스트리검색을 하면 될 것같은데요)

redbaron의 이미지

kwanghui96 wrote:
C로 코딩을 해야하는데, Java 프로그램을 호출해야할 일이 생겼습니다.

(타사에서 제공한 java 모듈을 사용해야 하거든요)

그래서 command로

system("java ~~~~ > returnfile") 

이런식으로 한다음에 결과는 returnfile을 읽어서 얻어오는 방식으로

하려고 합니다.

그런데 Java 관련 환경(SDK, RuntimeEnv)이 설치되어 있는지를 Detect

하고 해당 경로를 환경 변수 PATH로 등록시키든지 아니면 실행시

절대경로를 앞에 붙혀서

system("/opt/j2sdk_nb/j2sdk1.4.2/bin/java ~~~") 

이런식으로

해줘야 할 것 같은데요.

사용자가 사용하는 버전마다 경로가 다를 것 같은데 어떻게 알 수 있을까요?

(윈도우라면 레지스트리검색을 하면 될 것같은데요)


sytem 으로 java 를 실행시켜보면 설치되어 있는줄은 쉽게 알 수 있을듯.. :o

그리고 경로는 echo 를 통해서 스트링으로 받으시면...

(그냥 생각..난대로 끄적여 봅니다. 정답인지는..)

asteroid의 이미지

Environment Variable을 이용하는 방법은 어떤가요?

보통 JAVA_HOME 과 같은 형태의 변수를 사용해서

JVM의 위치를 지정하곤 하는데요.

세벌의 이미지

which java

이런 방법도 있기는 한데...