2013-07-11 437 views
2

該項目使用JavaServer Faces和JPA。 NetBeans 7.3.1 IDE不允許更改Java EE版本。如何將現有的NetBeans Java EE 6 Web項目升級到Java EE 7?

我已經找到了這個問題:

How do I upgrade an existing enterprise project from Java EE5 to Java EE 6 in Netbeans (6.9)

試圖描述應用更改。我更新了project.properties。當你在project.properties更新版本

endorsed.classpath=\ 
    ${libs.javaee-endorsed-api-7.0.classpath} 

...

j2ee.platform=1.7-web 

...

javac.source=1.7 
javac.target=1.7 

回答

3

我必須做同樣的事情,我有一個Java EE 6的應用,並希望去的Java EE 7

我只是做了Netbeans中的一個新的項目,那麼我選的Java Web在類別,然後Web應用程序與現有來源。然後Netbeans會爲您提供一個嚮導,您可以在其中選擇EE6項目。之後,您還可以設置其他Java EE版本。

+0

在你的EE6項目(或其副本)首先刪除build.xml和nbproject,build和dist文件夾 – Catweazle

3

NetBeans將不會自動更新項目文件。你必須手工完成。

  • 更新項目中的部署描述符以使用Java EE 7 namespaces and schemas
  • 更新代碼以使用新的API和功能。
  • 將Java EE 7服務器實例添加到服務器,如GlassFish 4.0,並將其設置爲項目屬性中「運行」選項卡中的目標服務器。

還值得注意的是,根據我的經驗,NetBeans項目中的Java EE版本實際上並不影響任何內容。您可以在項目中將Java EE版本設置爲6,但如果它使用EE 7功能並將其部署到Java EE 7服務器,則它將正確運行。

+0

你肯定在NetBeans項目改變了Java EE版本不影響什麼嗎?我剛剛從NetBeans 7升級到NetBeans 8,從Java 7分別升級到Java 8,並努力運行現有的WebApp。如Reitffunk所述,重新創建項目後,我的應用程序再次正常運行。順便說一句,我收到的異常是:'org.springframework.beans.factory.BeanCreationException ... java.lang.ClassFormatError:缺少代碼屬性的方法是非本地或抽象的類文件....' – SebastianRiemer

1

在Netbeans 8.1中,我猜這個改變了。我需要更新的nb-configuration.xml的信息對於Java EE 7,它是:

<project-shared-configuration> 
    <properties xmlns="http://www.netbeans.org/ns/maven-properties-data/1"> 
     <org-netbeans-modules-maven-j2ee.netbeans_2e_hint_2e_j2eeVersion>1.7</org-netbeans-modules-maven-j2ee.netbeans_2e_hint_2e_j2eeVersion> 
    </properties> 
</project-shared-configuration>