javac:invalid flag:-XX:+tieredcomployment, leinsub를 동시에 실행
3905 단어 leiningen
묘사
안녕,기본 기본 기본 폴더로 "lein sub install"을 실행하려고 하는 동안 다음 오류가 발생했습니다.
javac:잘못된 플래그:-XX:+tieredcomployment
Ubuntu 12.10에서 실행
OpenJDK 1.7
레인 2.0.0
Destale 사용자 그룹에서 이 오류를 보고했습니다. 이것은 Leiningen의 문제입니다. Leiningen은 Tiered Compilation 로고를 하드코딩하고 있습니다.https://github.com/technomancy/leiningen/blob/master/bin/lein#L289
감사합니다,
니코
토론 #1
이게lein sub
한테만 일어난 거예요?일반적으로 매우 오래된 자바 1.6 버전 (build 18 및 더 오래된 버전) 에서 층별 컴파일이 부족한 것은 모두가 알고 있는 문제이지만 1.7에서는 문제가 되지 말아야 한다.토론 #2
나는 우리가 먼저 어떻게javac
을 호출하는지 알고 싶다. 왜냐하면 나는 자바 컴파일러가 JVM 자체에서 자바 컴파일러를 호출하는 하위 프로세스에서 완성된 것이라고 확신하기 때문이다.토론 #셋
이 "export JAVA CMD=/usr/bin/javac"를 실행한 후(lein이 lein sub install을 실행한 후의 요청에 따라) lein이 작업을 멈춘 것 같습니다. 이 점에서 모든 항목에 같은 오류가 발생합니다.레인을 다시 작동시키는 유일한 방법은 JAVA CMD를 제거하는 것입니다.도움이 될지 모르겠지만..
토론 #4
leinsub에서JAVA_CMD
을 javac
으로 내보내라고 하면 이 특정 플러그인에서 매우 심각한 오류로 들릴 수 있습니다.이것은 근본적으로 아무런 의의가 없다.토론 #5
나는lein-sub
의 출처를 조사했지만 JAVA_CMD
을 전혀 언급하지 않았다.이것은 어디에서 왔습니까?토론 #6
하이펠,솔직히 난 레닌겐 해커가 아니야.
그러나 이것은 "lein sub install"을 실행한 후 받은 오류 메시지입니다.
lein javac: 시스템 java 컴파일러를 찾을 수 없습니다.JDK의 자바 사용 확인
JRE는 경로를 수정하거나 JAVA CMD를 설정하는 대신
JAVA CMD 대신 PATH를 설정하는 것은 아무런 차이가 없는 것 같습니다.
토론 #7
오, 네;그러니까 니java
이 JDK에서 온 게 아니라고.JDK를 설치하고 which java
이 JDK를 가리키는지 확인하거나 JAVA_CMD
에서 실행 가능한 파일이 아닌 java
으로 설정해야 합니다.또는 JDK를 사용하고 있고 다른 오류를 잘못 분류한 경우 Leiningen의 오류일 수 있습니다.javac
@nicobalestra 토론 #8
(JVM 이니시에이터)과java
(컴파일러) 사이에 차이가 있습니다.JDK 밖에 없어요.JRE 대신 컴파일러를 포함합니다.
javac
네, 죄송합니다. 여러분,JAVA CMD는 이제 작동할 수 있도록 JDK 폴더로 설정했습니다.
그러나 잘못된 정보는 약간 오도되었다:)
토론 #9
당신이 이 문제를 해결할 수 있어서 매우 기쁩니다.개선된 오류 메시지를 제안할 수 있다면, 업데이트에 대한 정보를 볼 수 있습니다.토론 #10
안녕하세요,Ubuntu 12.04
JDK1.7.0_u25
레닌 뿌리 2.3.2
나는 여전히 이 문제가 있다.JAVA CMD를 다음과 같이 설정하려고 합니다.
/usr/lib/jvm/jdk1.7.0/bin/javac, "javac:invalid flag:-XX:+tieredcomployment"
나는 또한 그것을/usr/lib/jvm/jdk1로 설정하려고 시도했다.7.0/bin, 이것은 나에게 오류를 주었다. "/usr/local/bin/lein: line 315:/usr/lib/jvm/jdk 1.7.0: 디렉터리입니다."
한 줄로 설정하면 다음과 같습니다.
JAVA CMD=/usr/lib/jvm/jdk1을 내보냅니다.7.0/bin/javac
내 생명의 끝에서bashrc 파일을 입력한 다음
$bash
나는 또한/etc/alternations의java/javac 기호 링크를/usr/lib/jvm/jdk1로 변경했다.7.0/bin/java와/usr/lib/jvm/jdk1.각각 7.0/bin/javac입니다.bash에서 내보내기 줄을 주석하고 내가 가정한 기호 링크 bc를 사용해서 실행하려고 하면 같은 오류가 발생합니다.
$javac
/usr/bin/javac
$ls-l/usr/bin/javac
lrwxrwx1 루트루트 8월 23일 28일 16:37/usr/bin/javac->/etc/alternations/javac
$ls-l/etc/alternations/javac
lrwxrwx1 루트루트 9월 31일 10:16:59/etc/alternations/javac->/usr/lib/jvm/jdk1.7.0/bin/javac
어쩌면 내가 완전히 뭔가를 놓쳤을지도 모르지만, 나는 나의 작은 것들이 모두 서로 관련되어 있다고 생각한다.당신이 제공한 어떠한 견해도 대단히 감사합니다.
고맙습니다.
토론 #11
@samanthahuston토론 #12
을 가리키며, 이것은 컴파일러이지 JVM이 아닙니다.javac
을 원합니다.java
@michaelklishin 감사합니다.my에서 JAVA CMD를 설정합니다.bashrc 파일이 이 문제를 해결했습니다.lein javac: 시스템 java 컴파일러를 찾을 수 없습니다.JDK의 자바 사용 확인
JRE는 경로를 수정하거나 JAVA CMD를 설정하는 대신
첫 번째 줄, "lein javac: system java compiler not foundJAVA CMD를 jdk javac에 가리키지 않았을 때도, JAVA CMD는 작동하지 않았고,/etc/alternations/JAVA는 jdk JAVA를 가리켰다.그래서 나는 왜 이것이 작용하지 않는지 모르겠다. 왜냐하면 경로의 bin이 최종적으로 jdkjava를 가리키기 때문이다.
마지막 평가는 오류 메시지에서'/usr/lib/jvm/jdk-1.x/java'와 같은 예시 줄을 지적해야 한다고 생각하고 경로가 올바른지 확인하려는 것이 아니라 자바 CMD를 그것으로 설정하는 것을 권장합니다.
토론 #13
잘못된 정보가 상당히 곤혹스럽다는 것에 동의합니다.질문을 하나 더 제출하십시오.Reference
이 문제에 관하여(javac:invalid flag:-XX:+tieredcomployment, leinsub를 동시에 실행), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://github.com/technomancy/leiningen/issues/1082텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)