如何将现有的NetBeans Java EE 6 Web项目升级到Java EE 7?

3
该项目使用JavaServer Faces和JPA。NetBeans 7.3.1 IDE不允许更改Java EE版本。
我已经找到了这个问题:
{{link1:如何在Netbeans(6.9)中将现有企业项目从Java EE5升级到Java EE 6}}
尝试按照描述的方式应用更改。我已更新project.properties。
endorsed.classpath=\
    ${libs.javaee-endorsed-api-7.0.classpath}

...

j2ee.platform=1.7-web

...

javac.source=1.7
javac.target=1.7
4个回答

4
NetBeans不会在更新project.properties中的版本时自动更新项目文件。您需要手动更新。
以下是更新项目所需的步骤:
  • 更新项目中的部署描述符以使用Java EE 7命名空间和模式
  • 更新代码以使用新的API和功能。
  • 向服务器添加一个Java EE 7实例,例如GlassFish 4.0,并在项目属性的运行选项卡中将其设置为目标服务器。
值得注意的是,在我的经验中,NetBeans项目中的Java EE版本实际上并不影响任何内容。您可以将Java EE版本设置为6,但如果它使用EE 7功能并部署到Java EE 7服务器,则会正确运行。

你确定在NetBeans项目中更改Java EE版本不会影响任何内容吗?我刚刚从NetBeans 7升级到了NetBeans 8,从Java 7升级到了Java 8,并且努力运行我的现有WebApp。按照Reitffunk的建议重新创建项目后,我的应用程序再次正常运行。顺便说一下,我收到的异常是:“org.springframework.beans.factory.BeanCreationException ... java.lang.ClassFormatError: Absent Code attribute in method that is not native or abstract in class file ....” - SebastianRiemer

4

我刚刚也做了同样的事情,我有一个Java EE 6应用程序,想要升级到Java EE 7。

我在Netbeans中创建了一个新项目,然后选择Java Web类别,接着选择使用现有源码的Web Application。然后Netbeans会呈现一个向导,让你选择你的EE6项目。之后你还可以设置其他Java EE版本。


在您的EE6项目中(或其副本中),首先删除build.xml和nbproject、build和dist文件夹。 - Catweazle

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>

1
  1. 进入NetBeans项目目录
  2. 进入nbproject
  3. 打开project.properties
  4. 找到j2ee.platform
  5. j2ee.platform=1.7-web改为j2ee.platform=1.6-web 来自Eclipse文件视图的指向性截图 WinMerge版本更改比较

  6. 同时在nbproject\private\private.properties中更改j2ee.server.home为匹配服务器的目录路径 输入图像描述


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接