엑스코드:'-source 1.3에서는 제네릭이 지원되지 않습니다' 컴파일러 오류가 발생합니까?
-
02-07-2019 - |
문제
간단한 질문입니다:
저는 CS 학부생이고 Eclipse 및 Net Beans IDE에 대해서만 경험이 있습니다.저는 최근에 Macbook을 구입했으며 테스트하기 위해 Xcode에서 최근 학교 프로젝트를 다시 컴파일하고 싶었습니다.ArrayList의 새 인스턴스를 선언하는 줄 바로 다음입니다.
dictionary = new ArrayList<String>();
다음 오류가 발생합니다. -source 1.3에서는 제네릭이 지원되지 않습니다..
문제가 무엇인지에 대해 누군가 조언을 해줄 수 있는지 궁금합니다.동일한 프로젝트가 동일한 시스템의 Eclipse에서 컴파일됩니다.저는 OSX 10.5.4와 Java 1.5.0_13을 실행하고 있습니다.
감사합니다.
해결책
Xcode의 Java 지원은 더 이상 사용되지 않으며 유지 관리되지 않습니다.이는 Project Builder에서 상속된 "이전" 빌드 시스템을 여전히 사용하는 유일한 Xcode입니다.Apple조차도 대신 Eclipse를 사용할 것을 제안합니다.Java의 경우 Eclipse와 NetBeans는 모두 Mac에서 잘 작동합니다.기본 Mac 프로그래밍을 시도하려면 Xcode가 적합한 Objective-C 및 Cocoa를 사용하세요.
즉, 문제는 javac가 제네릭이 없는 Java 1.3을 대상으로 한다는 것입니다.Ant 빌드 파일(build.xml)에서 javac 참조를 다음과 같이 수정할 수 있습니다.
<target name="compile" depends="init" description="Compile code">
<mkdir dir="${bin}"/>
<javac deprecation="on" srcdir="${src}" destdir="${bin}"
source="1.3" target="1.2"
"소스"와 "대상"을 "1.5"로 변경합니다.
다른 팁
제네릭은 Java 5에 도입되었으므로 -source 1.3 옵션과 함께 제네릭을 사용할 수 없습니다.
build.xml 파일은 다음 위치에 있습니다.
/Developer/Library/XCode/Project Templates/Java/Java Tool/build.xml
(Java 도구를 자신만의 프로젝트로 교체하세요).
당신이 찾는다면 source="XX" target="YY"
30행에서 XX와 YY를 원하는 값으로 변경하면 이전 게시물에서 설명한 것처럼 상황이 더 좋아집니다.
건배,
피터