2009-03-25 8 views
1

IcedTea6에서 Java 1.5 관련 코드가 컴파일되지 않는 이유는 무엇입니까?

 
javac Perf.java 

ERROR in Prefs.java (at line 36) 

HashMap<String, String> map = new HashMap<String, String>(); 
     ^^^^^^^^^^^^^^ 
Syntax error, parameterized types are only available if source level is 1.5 
java -version java -version java -version 다음과 같이 입력하십시오.

 
java version "1.6.0_0" 
IcedTea6 1.4 (fedora-11.b14.fc10-i386) Runtime Environment (build 1.6.0_0-b14) 
OpenJDK Client VM (build 14.0-b08, mixed mode) 
javac -version gets me :

 
Eclipse Java Compiler 0.883_R34x, 3.4.1 release, Copyright IBM Corp 2000, 2008. All rights reserved. 

이것은 다음과 같습니다. Fedora 10을 새로 설치하십시오.이 아이스크림 사업은 무엇입니까? Java 컴파일러가 Eclipse 컴파일러를 기본값으로 사용하는 이유는 무엇입니까? 누군가는이 광기를 설명합니다 ...

답변

1

$ PATH 변수를 확인하십시오. 당신의 "자바"실행 파일이 한 곳에서 "javac"이 다른 곳에있는 것 같습니다.

는 명령 행에서 "어디"또는 "어떤"명령을 시도 - 쉘/OS는 이러한 실행의 각 위치를 어디에이 당신을 말할 것이다 :

which java 
which javac 
+0

둘 다 같은 위치에 있습니다./usr/bin/java [c | ] – Alex

+0

그러면 Java SDK를 (다시) 다운로드해야 할 수도 있습니다. 당신의 OS가 이상한/비표준 버전의 javac와 함께 출하 된 것 같습니다. –

+0

redhat fedora 10은 90 % 실패했습니다. – Alex

1

페도라 기본 사용과 같은 오픈 소스 소프트웨어를. Icedtea는 OpenJDK를 완벽하게 오픈 소스로 채택한 redhat입니다. 이클립스 컴파일러는 오픈 소스 커맨드 라인 자바 컴파일러로는 최고이지만, 디폴트로 자바 6에서는 컴파일되지 않는 것으로 보인다.

"javac -help"를 사용하여 어떤 옵션이 있는지 확인하십시오. 그것은 조정이 필요한 단순한 환경 변수 일 수 있습니다.