2012-01-21 2 views
1

일부 Java 클래스를 컴파일하는 데 maven을 사용하고 있습니다. 클래스 중 하나는 주석 (@Override)가 그래서 난 다음 mvn compile을 실행할 때 오류 얻을 :maven2에서 어노테이션이있는 프로젝트를 컴파일하는 중에 오류가 발생했습니다.

내 시스템의 자바 버전이 JDK입니다
annotations are not supported in -source 1.3 
(use -source 5 or higher to enable annotations) 
     @Override 

annotations are not supported in -source 1.3 
(use -source 5 or higher to enable annotations) 
     @Override 

있지만 1.6.29 아직도 내가이 오류를 이해할 수 있습니다. 그래서 나는 jdk 버전을 검사 할 수있는 방법을 사용하고 있습니다. 아마도 그것을 변경합니다. 또는 다른 해결책이 있습니까? 감사합니다. .

답변

2

java 소스 레벨 1.5의 컴파일을 위해 컴파일러 플래그를 설정하도록 maven 빌드에 지시해야합니다. 이 작업은 플러그인의 구성을 추가하여 pom.xml 파일에서 수행됩니다.

<plugins> 
[...] 
    <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-compiler-plugin</artifactId> 
      <version>2.3.2</version> 
      <executions> 
       <execution> 
        <id>default-compile</id> 
        <configuration> 
         <source>1.5</source> 
         <target>1.5</target> 
        </configuration> 
       </execution> 
       </executions> 
    </plugin> 
[...] 
</plugins> 
+0

덕분에 많이 ..does JDK 버전이 1.5 스탠드 : 예를 들어

? 또한 글로벌 settngs.xml 파일에서 동일한 작업을 수행 할 수 있습니까? – pranay

+0

예, 아니오; _source_ 태그를 1.5로 설정하면 maven 컴파일러 플러그인이 javac 호출에 _-source 5_ 인수를 전달합니다. 비슷하게 _target_ 태그는 _-target_ 인수를 전달하기위한 것입니다. 그것은 자바 소스 코드 레벨을 설정하기위한 것입니다. JDK 1.6은 3, 5, 6 중 모든 레벨을 지원할 수 있습니다. –

관련 문제