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_CMDjavac으로 내보내라고 하면 이 특정 플러그인에서 매우 심각한 오류로 들릴 수 있습니다.이것은 근본적으로 아무런 의의가 없다.

토론 #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

잘못된 정보가 상당히 곤혹스럽다는 것에 동의합니다.질문을 하나 더 제출하십시오.

좋은 웹페이지 즐겨찾기