NetBeans 于7月30日发布了 9.0 正式版,不过作为 Apache 基金会开源项目的它目前尚处于孵化阶段。 自测试版发布以来,最常见的问题就是:Java EE / C ++ / PHP 是否支持?首先,Apache 的源代码捐赠仅包括基本 NetBeans 平台模块和 Java SE 支持(详情可以查看 Apache Foundation 官方声明),这是否意味着我们无法在 NetBeans 9 上开发 Java EE 应用程序?并非如此! 目前,Oracle 已经进行了第二次捐赠,其中包括大多数被视为扩展模板的 NetBeans 模块。 正如 Apache 声明所暗示的那样,这些模块预计会在未来的 NetBeans 版本中出现。 是否可以在 NetBeans 9 中启用 Java EE 支持?官方已经提供在 NetBeans 9 中启用 Java EE 支持的方法:使用工具包。因此,本教程的重点是在 MacOS 上启用 Java EE 支持,Linux 和 Windows 的步骤应该相同。为了显示一些附加说明,我们使用 Java 8 和 Java 10 测试了两个应用服务器。 下载 NetBeans 9.0首先,从官方 Apache Mirrors 下载 NetBeans 包。 目前,发行版仅以 .zip 格式文件提供: 下载后,解压 .zip 文件: unzip incubating-netbeans-java-9.0-bin.zip 在 Unix 的 bin/ 目录中找到 NetBeans 可执行文件: cd netbeans bin/netbeans 有了这个,我们就可以运行 NetBeans 9。默认情况下,NetBeans 将在系统可用的最新 JVM 上运行。 启用 Java EE 支持要安装 Java EE 支持,应将 NetBeans 8.2 更新中心存储库添加到 IDE。 首先,点开 Tools > Plugins > Settings。 然后,添加新的更新仓库:
第三,使用关键字“Kit”搜索新插件。 顾名思义,这些是用于特定目的的插件集合。 根据经验,建议进行 Java EE 开发使用以下插件:
现在,重新启动 IDE,然后,准备使用 Java EE 开发应用程序。 测试1:Wildfly 13 为了测试 NetBeans 设置,我添加了一个新的应用程序服务器(WildFly Application Server),并从 jEspañol 演示文稿中运行了 Java EE 8 REST-CRUD 应用程序。 选择 WildFly Application Server 正如 WildFly 发行说明所示,如果您想要 Java EE 8 支持,则应选择 standalone-ee8.xml 作为域配置。 NetBeans 9 将检测域配置: WildFly 团队一直致力于保持 Java 9 和 10 兼容性。 因此,应用程序会按预期运行,以从内存数据库中提供新记录。 测试2:Java 10(NetBeans)和 Java 8(App Server 平台)上的 Glassfish 5 和 Payara 5 为了测试 Vanilla 体验,我尝试连接 Payara 和 Glassfish 5 应用服务器(Application Server)。 在 WildFly 的情况下,配置非常简单: 选择 Payara Application Server: 域1默认配置应该没啥问题: 由于 Payara 和 Glassfish 仅支持 Java 8(对 Java 11 的支持已在路线图中),因此您必须使用 Java 8 创建一个新平台。转到 Tools -> Java 平台,然后单击添加平台( 现在,选择一个新的 Java SE 平台: 选择 Java 8 的主目录: 最后,转到服务器属性并更改 Java 平台: 此时,NetBeans 应该在 Java 8 上运行。否则,您将无法检索服务器的配置和日志(Eclipse 插件上有类似的报告)。 测试3:Java 8(NetBeans)和 Java 8(App Server 平台)上的 Glassfish 5 和 Payara 5 最后,我将 NetBeans 配置为使用 JDK 8 作为 NetBeans JDK。编辑 etc/netbeans.conf 文件并将 netbeans_jdkhome 变量指向 JDK 8。因为我使用 jenv 来管理 JVM 环境,所以正确的值是:netbeans_jdkhome="/Users/tuxtor/.jenv/versions/1.8"。 有了这个,NetBeans 9 就能按预期运行 Payara 5 和 Glassfish 5。 目前尚不确定 TomEE,OpenLiberty,WebSphere 和 WebLogic 这几个服务器的使用情况,但这似乎是一个与 JDK 版本有关的问题。 |