2011-02-11 2 views
6

Eclipse를 통해 개미를 실행하면 일부 목표가 올바르게 빌드되지만 구체적인 환경 변수 즉 SOME_SDK는 내 .profile에 설정해야합니다. 파일이 작동하지 않습니다. 내가 $ {env.JAVA_HOME}을 echo하려고해도, Eclipse를 통해 Ant가 그 문자열을 출력 할 것이다. 그러나 터미널 (예 : 개미 sometarget)을 통해 개미를 실행하면 JAVA_HOME 및 SOME_SDK를 찾아 해당 경로를 에코합니다. 필자는 Eclipse가 환경 경로 (/usr/share/java/ant-1.8.1)에있는 것과 동일한 개미를 가리키고 있는지 확인했습니다. 어떤 아이디어?Eclipse를 통해 개미를 실행하면 환경 변수를 찾을 수 없지만 터미널을 통해 개미를 실행하는 것은 괜찮습니다.

감사

답변

18

터미널을 열면 .profile의 환경 변수가로드됩니다. 윈도우 시스템을 통해 Eclipse를 시작하면 사용자 계정으로 실행되지 않으므로 .profile을 런타임에 Eclipse에서 사용할 수 없습니다.

필자는 적어도 내 리눅스 머신의 경우이며, Mac에서도 똑같이 추측하고 있습니다. Eclipse가 시스템 시작시로드되는/etc/profile 파일에서 볼 필요가있는 환경 변수를 넣었습니다.

+3

Mac에서는 '~/.MacOSX/environment.plist ', http://developer.apple.com/qa/qa2001/qa1067도 참조하십시오.htaccess Admin Home English Language Content –

+0

시작시 프로파일을 읽는 윈도우 시스템에 대한 유용한 팁 - 변경 후에 상황이 저에게 맞지 않는 이유를 알 수 없었습니다. – SyBer

+0

Eclipse를 시작한 후 env 변수를 설정 한 경우, Eclipse를 다시 시작하십시오. Eclipse는 창에서 cmd를 닫고 다시 열 때와 마찬가지로 새로운 env 프로파일을로드합니다. – sura2k

10

당신은 당신의 개미 실행 구성 변수를 지정할 수 있습니다 (>개미 빌드로 실행을 ...>환경 탭).

+0

감사합니다. 실제로이 기능을 사용하여 작동시킬 수있었습니다. 하지만 eclipse가 OSX에서 환경 변수를 선택하지 않는 이유를 알고 있습니까? 일식이 그들을 볼 수있는 어떤 방법? – czer

+0

Eclipse에서와 같이 GUI에서 실행 된 응용 프로그램은 launchctl에서 해당 변수를 상속받습니다. 루트로 "launchctl setenv "(http://stackoverflow.com/a/3756686/218823 참조)을 실행하여 launchctl 환경을 설정할 수 있습니다. –

0

c : \ Windows \ System32에서 java.exe를 제거하면됩니다.

이유는 % PATH % 환경 변수에 java.exe 파일이있는 c : \ Windows \ System32가 있기 때문입니다. 명령 프롬프트에서 c :> java -version을 실행하면 실행중인 버전이 jdk 버전과 일치하지 않음을 알 수 있습니다.

이 작업을 완료하면 응용 프로그램을 실행할 때 jdk에서 java.exe를 실행할 수 있도록 % JAVA_HOME %/bin을 % PATH % 환경 변수에 추가해야합니다. 변경 사항을 적용하기 전에 응용 프로그램 (명령 프롬프트 포함)을 다시 시작하십시오.

1

Eclipse가 적어도 * nix 환경에서 환경 처리에 약간 손상된다고 생각합니다. Kevin의 경우와 유사하지만, 필자가 별도로 실행 프로필을 작성하고 테스트/설치 목표 (여기에 개미 대신 메이븐이지만 무시할 수없는 소음)를 실행하고 JAVA_HOME 환경 변수를 지정합니다. 해당 실행 프로필의 경우 프로젝트는 POM 파일의 유효성을 검사하지 않습니다.

  1. 의/etc/프로파일 접근 방식을 사용하거나이 시스템 특성을 포함
  2. 편집 eclipse.ini 파일 :

    내가 남아있어 모두 두 개의 별도의 선택입니다.

결국 문제가있는 응용 프로그램에만 해당되는 구성 파일에 영향을주기 때문에 후자는 더 깨끗한 해결 방법이라고 생각합니다. 그럼에도 불구하고 이클립스는 사용자 경로에있는 변수를 사용하여 쉽게 생산할 수 있도록해야합니다.

관련 문제