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 支持的方法:使用工具包。因此,本教程的重點是在 MacOS 上啟用 Java EE 支持,Linux 和 Windows 的步驟應該相同。為了顯示一些附加說明,我們使用 Java 8 和 Java 10 測試了兩個應用伺服器。
首先,從官方 Apache Mirrors 下載 NetBeans 包。 目前,發行版僅以 .zip 格式文件提供:
下載後,解壓 .zip 文件:
unzip incubating-netbeans-java-9.0-bin.zip在 Unix 的 bin/ 目錄中找到 NetBeans 可執行文件:
cd netbeansbin/netbeans有了這個,我們就可以運行 NetBeans 9。默認情況下,NetBeans 將在系統可用的最新 JVM 上運行。
啟用 Java EE 支持
要安裝 Java EE 支持,應將 NetBeans 8.2 更新中心存儲庫添加到 IDE。
首先,點開 Tools > Plugins > Settings。
然後,添加新的更新倉庫:
第三,使用關鍵字「Kit」搜索新插件。 顧名思義,這些是用於特定目的的插件集合。
根據經驗,建議進行 Java EE 開發使用以下插件:
HTML5 Kit
JSF
SOAP Web Services
EJB and EAR
RESTful Web Services
Java EE Base
現在,重新啟動 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 平臺,然後單擊添加平臺(Add Platform
)。
現在,選擇一個新的 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 版本有關的問題。
編譯自:Java EE/Jakarta EE Support for NetBeans 9