http://speedup.iteye.com/blog/1544648
eclipse下maven的編譯
2010-11-13 22:44
在eclipse下用maven編譯時,可能會失敗,爆出以下提示
Please ensure you are using JDK 1.4 or above and not a JRE (the com.sun.tools.javac.Main class is required).
這是因爲eclipse默認是使用jre作爲運行環境,而maven編譯需要jdk作爲運行環境
嘗試修改eclipse.ini,加入如下語句
-vm
C:\Progra~1\Java\jdk1.6.0_21\bin\javaw.exe
無效
仔細看其爆出的提示,似乎將JAVA_HOME環境變量指向jdk目錄即可,但依然不起作用。
其實有個簡單辦法,就是在eclipse裏設置一個jdk的運行環境,然後將當前項目的運行環境設爲jdk運行環境即可
步驟
window-preferences-java-installed jres
這裏默認有個jre6的JRE定義(maybe你是jre5),一個方法是修改這個jre6,將其location指向你的jdk6目錄
另一個辦法是點擊Add按鈕,選擇Standard VM,jre home選擇你的jdk6目錄。點擊finish,這時發現多了一個JRE,將其勾上,以後新的項目,就默認使用這個JRE了
然後,進入項目的properties頁面,選擇Java build path,打開libraries標籤,remove默認的jre6,add Libraries,選擇JRE system library,選擇你剛創建的jdk(已被默認選中),finish
現在運行maven 的編譯,一切正常。
============================================================================
m2eclipe經常會報這個錯,原因是對於安裝了JDK的機器,會有兩個jre,一個在C:/Program Files/Java/jre6下,一個在C:Program FilesJavajdk1.6.0_20jre, 而默認eclipse如果不做改變,會使用前者,而m2eclipse默認會去找JDK下的jre
解決辦法:
在eclipse.ini中添加兩行
-vm
C:/Program Files/Java/jdk1.6.0_16/bin/javaw.exe
注意: 要寫在兩行,寫在一行不能生效
注意: 這兩行要定在-vmargs之前,不然也不能生效
注意: 最後一行也可以寫成C:/Program Files/Java/jdk1.6.0_16/bin/
好了,不出意外,重新啓動eclipse,應該會好。但是如果有意外,你會啓動不起來eclipse,並且會報錯“could not create the java virtual machine ”.