2012-01-25 14 views
13

Próbuję zbudować istniejący projekt maven na nową instalację najnowszych netbeans ale otrzymuję następujący błąd, każda pomoc jest mile widziane:Netbeans Maven Błąd: javac: nieprawidłowy uwolnienie docelowa: 1,7

Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:2.3.2:compile (default-compile) on project com.rory.ngp.test: Compilation failure 
Failure executing javac, but could not parse the error: 
javac: invalid target release: 1.7 

Myślę, że ma to coś wspólnego ze ścieżkami, ale nie jestem pewien. Oto treść moich /usr/lib/jvm directory;

bash-4.1$ pwd 
/usr/lib/jvm 
bash-4.1$ ls 
java        java-openjdk jre-1.6.0-openjdk.x86_64 
java-1.5.0-gcj-1.5.0.0    jre   jre-gcj 
java-1.6.0       jre-1.5.0  jre-openjdk 
java-1.6.0-openjdk-1.6.0.0.x86_64 jre-1.5.0-gcj 
java-1.6.0-openjdk.x86_64   jre-1.6.0 

Odpowiedz

14

Dzięki Oers, miałeś rację.

Musiałem zainstalować JDK 1.7/Java 7, a następnie edytować plik konfiguracyjny w NetBeans NetBeans zainstalować /etc/netbeans.conf katalogów aby wskazać gdzie zainstalowano nową wersję Java:

# Default location of JDK, can be overridden by using --jdkhome <dir>: 
    netbeans_jdkhome="https://stackoverflow.com/users/rory/Documents/jdk1.7.0_02" 
+2

Ponieważ miałem ten sam problem z IntelliJ: rozwiązaniem jest ustawienie wersji JRE w ustawieniach projektu Maven | Runner. – sunside

+0

Wydaje się dziwnym faktem, że jeśli zainstalujesz nowy jdk, gdy Netbeans jest już zainstalowany, musisz zmodyfikować netbeans_jdkhome tak, jak to opisano tutaj. Netbeans powinien być w stanie wykryć, który jest najnowszym jdk i użyć go, jeśli nie znaleziono tego, co wskazuje netbeans_jdkhome. To musi być błąd w Netbeans od dawnych czasów. – carl

8

Dodaj następujące do pom pod budowy i wtyczek należy kierować 1,6

 <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-compiler-plugin</artifactId> 
      <configuration> 
       <source>1.6</source> 
       <target>1.6</target> 
      </configuration> 
     </plugin> 
+0

Dzięki, ale kiedy zmienił go I teraz pojawia się błąd: operator diamentowy nie jest obsługiwana w -source 1,6 (użyj -source 7 lub wyżej, aby włączyć operatora diamentów) ---- (Alt-Enter pokazuje wskazówki) – Rory

+3

@Rory, jeśli potrzebujesz funkcji języka Java 1.7, musisz zainstalować java 1.7 jdk na komputerze – oers

+0

Zobacz http://stackoverflow.com/a/ 4724062/320180 –

0
<plugin> 
<groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-compiler-plugin</artifactId> 
    <version>2.3.2</version> 
    <configuration> 
    <source>1.6</source> 
     <target>1.6</target> 
     <compilerArguments> 
      <endorseddirs>${endorsed.dir}</endorseddirs> 
     </compilerArguments> 
    </configuration> 
</plugin> 

Jeśli Platform lub Źródło/Binary Format we właściwościach projektu nie jest sam w tej konfiguracji to daje błąd

Powiązane problemy