2010-10-29 90 views
7

我在eclipse上用maven2創建了一個項目。之後我加入了休眠批註的依賴,我試圖創建一個使用Hibernate註解(@實體,@Table ...)一類,但它給我這個錯誤:爲什麼我需要將項目合規性更改爲1.5?

更改項目合規性和JRE到1.5

我修正了它,但不明白爲什麼它需要這個,只要我的jdk是1.6。

提前致謝!

回答

11

檢查maven編譯器插件的設置是否也設置爲1.5或1.6。如果我沒有弄錯,maven 2默認爲1.4。

事情是這樣的:

  <plugin> 
       <artifactId>maven-compiler-plugin</artifactId> 
       <version>2.3.1</version> 
       <configuration> 
        <source>1.5</source> 
        <target>1.5</target> 
       </configuration> 
      </plugin> 
+0

非常好。謝謝! – artaxerxe 2010-10-29 07:18:03

-1

添加以下行至POM:

<properties> 
     <java.version>1.6</java.version> 
    </properties> 

編輯: 啊,太糟糕了,剛纔看到的是自定義屬性...榮獲」工作。

+2

Whaaaaat?這是從哪裏來的?這應該做什麼? – 2010-10-29 07:47:24

+0

不好回答!不起作用! – artaxerxe 2010-10-29 08:22:49

9

雖然javamonkey79's solution是做它的標準方式,也有基於屬性的解決方案,但它不是the one fgysin suggests

<properties> 
    <maven.compiler.source>1.6</maven.compiler.source> 
    <maven.compiler.target>1.6</maven.compiler.target> 
</properties> 

參考(Maven的編譯器插件):

順便說一句,原因是maven compiler plugin建立一個命令行調用到javac,其中它顯式指定源和目標版本(覆蓋javac的默認設置)。以前版本的編譯器插件有自己的默認設置爲1.3。然而,從插件版本2.3開始,1.5 is the default source and target version

+2

設置編譯器級別正在成爲SO的模因之一;)(+1) – 2010-10-29 11:17:53

+0

真的很棒的提示! – artaxerxe 2010-10-29 12:12:45

相關問題