2016-02-23 38 views
0

我升級到maven 3。我的項目是使用jdk6構建的,所以Eclipse JRE指向了java 6 home。 看來,行家3需要Java 7 我JAVA_HOME指向Java 7中,但Maven插件顯然使用JRE 6(Eclipse的JRE),並拋出從Eclipse中運行時,此異常:Maven eclipse插件使用Eclipse JRE代替JAVA_HOME

Exception in thread "main" java.lang.UnsupportedClassVersionError: org/apache/maven/cli/MavenCli : Unsupported major.minor version 51.0 
at java.lang.ClassLoader.defineClass1(Native Method) 
at java.lang.ClassLoader.defineClassCond(ClassLoader.java:632) 
at java.lang.ClassLoader.defineClass(ClassLoader.java:616) 
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141) 
at java.net.URLClassLoader.defineClass(URLClassLoader.java:283) 
at java.net.URLClassLoader.access$000(URLClassLoader.java:58) 
at java.net.URLClassLoader$1.run(URLClassLoader.java:197) 
at java.security.AccessController.doPrivileged(Native Method) 
at java.net.URLClassLoader.findClass(URLClassLoader.java:190) 
at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClassFromSelf(ClassRealm.java:401) 
at org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy.loadClass(SelfFirstStrategy.java:42) 
at org.codehaus.plexus.classworlds.realm.ClassRealm.unsynchronizedLoadClass(ClassRealm.java:271) 
at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.java:254) 
at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.java:239) 
at org.codehaus.plexus.classworlds.launcher.Launcher.getMainClass(Launcher.java:144) 
at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:266) 
at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229) 
at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415) 
at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356) 

我怎樣才能讓m2eclipse使用java7(這是我的JAVA_HOME)?

請注意,獨立的maven可以正常工作,但它更容易從eclipse運行它。

+0

你可以試試通過使用外部的maven安裝。請按照Windows - >首選項 - > Maven - >安裝。從M2_HOME添加新的Maven安裝。 – Bhushan

+0

你使用哪個Eclipse版本?不要在eclipse中使用M2_HOME .... – khmarbaise

回答

0

集M2_HOME你Maven的家,設置JAVA_HOME,然後設置路徑,以便在一開始是

Path=%JAVA_HOME%/bin;%M2_HOME%/bin 

如果你在這個由開始 - 設置窗口>右擊電腦,屬性 - 上>高級系統設置 - >環境變量。

您還需要將eclipse更改爲使用java 1.7 jdk。這應該照顧一些東西,你可以將你的eclipse/maven項目中的編譯級別設置爲1.6。

+0

你在哪裏設置?環境或Eclipse中的某個地方? –

+0

M2_HOME和JAVA_HOME是環境設置,path是預定義的環境變量,將其設置爲確保所有程序都能找到預期的java和maven。 –

+0

只需將所需的路徑添加到路徑中,但不要使用M2_HOME,因爲它不是必需的。 – khmarbaise

0

我在eclipse中面臨同樣的問題。將下面的插件添加到插件列表並使用Alt + F5重建項目解決了我的問題。希望這本書能解決你們的目標:

<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-compiler-plugin</artifactId> 
    <version>3.5.1</version> 
    <configuration> 
     <debug>true</debug> 
     <verbose>true</verbose> 
     <source>1.7</source> 
     <target>1.7</target> 
     <fork>true</fork> 
    </configuration> 
</plugin> 

重建,如果你有日食的喜好配置JRE1.7月食會自動選擇JRE1.7後。