2012-02-21 3 views
2

나는 코드를 가질 수 있도록 수준 6에서 수준 7으로 마이그레이션 할 수있는 코드 소스에 대해 javac 경고 경고를 표시 할 수있는 방법을 찾고 있습니다. 레벨 7 모드?jdk7 준수 수준 : 6에서 7 코드 소스를 마이 그 레이션하는 방법

+1

을 사용할 수있는 특정 JDK 7 개 기능에 대한 경고를 방출하는 7 앞으로 호환 자바 6 아닌가요 구성 할 수 있습니다? 나는 7로 재 컴파일하고 그냥 일할 것을 기대할 것이다. 7로 컴파일하려고 했습니까? 오류가 있었습니까? – SteveD

+0

특정 호환성 문제가 염두에 있습니까? –

+0

예를 들어, Map > myMap = new HashMap >(); 대신 Map > myMap = new HashMap <>();' – jts

답변

0

solution

기본적으로 이클립스는

+0

제공하신 링크에 대해 [문맥 제공] (http://stackoverflow.com/questions/how-to-answer)을 제공해주십시오. – animuson

+0

링크에 대한 설명이있는 것이 좋습니다. –

1

이 문서를 도움이 될 것입니다

그러나

http://www.oracle.com/technetwork/java/javase/compatibility-417013.html

, 호환성 사소한해야한다. Java 7 컴파일러로 소스 코드를 컴파일하는 첫 번째 단계가 필요합니다.

문서를 살펴보면 언어 수준의 주된 비 호환성은 상속 된 예외 (목록의 두 번째 항목)와의 동작의 차이라고 말할 수 있습니다. 나머지는 도서관의 차이점입니다.

+0

Thx. 예를 들어 컴파일러 경고는'Map > myMap = new HashMap >(); 대신'Map > myMap = new HashMap <>(); ' – jts

2

"Java 6 패러다임에서 Java 7 패러다임으로 마이그레이션 할 수있는 코드를 어떻게 검색 할 수 있습니까?"라는 질문을 읽었습니다. 그런 경우, 소스 코드 스타일 검사기 (예 : PMD 등)이 기회를 강조 할 수 있어야 있다면

try { } 
catch (FooException | BarException e) { } 
/* 
Instead of: 
catch (FooException e) { } 
catch (BarException e) { } 
*/ 

:

List<Foo> bar = new ArrayList<>(); // instead of new ArrayList<Foo>() 

그리고 multicatch : 예를 들면 다이아몬드 연산자의 사용 수 있습니다 .

예를 들어, NetBeans EasyPMD 플러그인은 이러한 두 가지 특별한 경우 (다른 것들도 그렇습니다)에 정기적으로 플래그를 지정하고 JDK 7 버전으로의 변환에 대한 제안을 제공합니다. JDK-7 이전의 코드 구조가 발견되면 경고 아이콘으로 강조 표시되고 아이콘을 클릭하면 JDK-7에 해당하는 리팩터가 제공됩니다.

필자는 실제로 컴파일 프로세스의 일부는 아니지만 (예 : Ant를 사용하여 빌드 프로세스의 일부로 자동화 할 수는 있겠지만) 차선책이라고 생각합니다.

+0

좋은 생각입니다. –

관련 문제