2011-06-28 33 views
14

Uruchamiając mvn install na moim projekcie, to nie widzę powodu następujących błędów:Maven Instalacja: „Adnotacje nie są obsługiwane w -source 1.3”

C:\Repositories\blah\src\test\java\com\xxx\qm\testrunner\test\ATest.java:[11,5] annotations are not supported in -source 1.3 
(use -source 5 or higher to enable annotations) 
    @Test 

C:\Repositories\blah\src\test\java\com\xxx\qm\common\test\BTest.java:[11,5] annotations are not supported in -source 1.3 
(use -source 5 or higher to enable annotations) 
    @Test 

Moje uzależnienie Maven obejmuje jUnit 4.8 jednak i nie ma odniesienie do 1.3 cokolwiek.

Co spowodowałoby te błędy? Proszę doradzić

Odpowiedz

23

Musisz podać źródłową wersję swojego projektu maven za pomocą wtyczki maven-compiler. Dodaj następujące elementy do swojego elementu budowania pom i ustaw odpowiednie poziomy źródłowe i docelowe java.

<build> 
    <defaultGoal>install</defaultGoal> 
    <plugins> 
      <plugin> 
       <groupId>org.apache.maven.plugins</groupId> 
       <artifactId>maven-compiler-plugin</artifactId> 
       <configuration> 
        <source>1.6</source> 
        <target>1.6</target> 
       </configuration> 
      </plugin> 
     </plugins> 
</build> 

http://maven.apache.org/plugins/maven-compiler-plugin/

+0

Got it! Dziękuję bardzo – JAM

2

które są najczęściej za pomocą OpenJDK gdzie poziom źródła wynosi 1,3, gdy nie jawnie ustawione - w przeciwieństwie do Oracle JDK gdzie poziom źródła 1.5.

Ponieważ większość współczesnych projektów Java kieruje się na nowszy kod niż Java 5, najprawdopodobniej trzeba to ustawić.

Należy również pamiętać, że jeśli potrzebujesz niższej wartości docelowej niż źródło (na przykład do kompilacji z Javą 6, ale wdrażasz do Java 5), ​​możesz to zrobić za pomocą kompilatora Eclipse zamiast Javac.

4

Krótsza wersja:

<project> 
    <properties> 
     <maven.compiler.source>1.5</maven.compiler.source> 
     <maven.compiler.target>1.5</maven.compiler.target> 
    </properties> 
.... 
0

Dodaj ten w pom

<build> 
     <pluginManagement> 
      <plugins> 
       <plugin> 
        <groupId>org.apache.maven.plugins</groupId> 
        <artifactId>maven-compiler-plugin</artifactId> 
        <version>3.0</version> 
         <configuration> 
          <!-- put your configurations here --> 
         </configuration> 
       </plugin> 
      </plugins> 
     </pluginManagement> 
    </build> 
1

Bu domyślne The Maven próbuje skompilować używając Java wersji 1.3. Mam nadzieję, że większość z nich uderzył ten błąd z powodu braku Maven powiedzieć, że „Hej Maven, nie używaj 1.3 i użyj” whatever_version_I_give”

ta może być podana w pom.xml jak poniżej:

  <plugin> 
       <groupId>org.apache.maven.plugins</groupId> 
       <artifactId>maven-compiler-plugin</artifactId> 
       <version>2.5.1</version> 
       <inherited>true</inherited> 
       <configuration> 
        <source>1.7</source> 
        <target>1.7</target> 
       </configuration> 
      </plugin> 

W moim powyższym przykładzie użyłem 1,7. Proszę wymienić niezależnie od wersji chcesz.

Powiązane problemy