首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> J2SE

J2EE配置:配置J2SE(4)

     編輯:J2SE

本文為 J2EE 環境配置 J2SE 系列的第四部分,主要說明應用伺服器整合 JDK 的進階設定與驗證步驟。由於原始內容較少,這裡補充完整配置指南。

一、 應用伺服器指定 JDK 版本

主流應用伺服器皆提供指定 JDK 的機制:

  • Tomcat:設定 JAVA_HOME 環境變數,或修改 catalina.sh/bat 中的 JAVA_HOME 變數。
  • WebLogic:在 setDomainEnv.sh/cmd 中設定 JAVA_HOME 與 JAVA_VENDOR。
  • JBoss/WildFly:設定 JAVA_HOME 或在 standalone.conf 中指定。
  • GlassFish/Payara:asenv.conf 設定 AS_JAVA。

二、 編譯器相容性設定

確保專案原始碼編碼版本與目標執行環境一致:

  • Maven: <maven.compiler.source>1.8</maven.compiler.source> <maven.compiler.target>1.8</maven.compiler.target>
  • Gradle: sourceCompatibility = 1.8; targetCompatibility = 1.8;
  • IDE 專案設定:確認 Project Facets / Java Compiler 版本。

三、 類別載入器與模組化(JDK 9+)

JDK 9 引入模組系統,舊應用可能需:

  • 添加 --add-modules 參數(如 java.se.ee 模組)。
  • 使用 --add-opens 開放內部 API 存取(如 java.base/java.lang=ALL-UNNAMED)。
  • 避免使用已移除的模組(如 java.corba, java.transaction),改用獨立庫。

四、 效能調優參數

常見 JVM 參數範例(視應用負載調整):

-Xms2g -Xmx4g                    # 堆大小
-XX:MetaspaceSize=256m -XX:MaxMetaspaceSize=512m  # 元空間
-XX:+UseG1GC                     # G1 收集器 (JDK 9+ 預設)
-XX:MaxGCPauseMillis=200         # 目標停頓
-Xlog:gc*:file=gc.log:time,uptime,level,tags  # GC 日誌 (JDK 9+ 統一日誌)

五、 驗證配置生效

  1. 啟動應用伺服器,檢查啟動日誌中的 java.version, java.home, java.vm.version。
  2. 部署簡單 JSP/Servlet 列印 System.getProperty("java.version") 確認運行時 JDK。
  3. 使用 jcmd <pid> VM.flags 檢查實際生效的 JVM 參數。

六、 常見問題排查

現象可能原因解決方向
UnsupportedClassVersionError編譯版本高於運行版本降低編譯 target 或升級運行 JDK
NoClassDefFoundError (java.se.ee)JDK 9+ 缺少 EE 模組添加 --add-modules 或引入獨立 API jar
存取內部 API 失敗強封裝限制--add-opens 開放對應包
GC 停頓過長堆大小/收集器不當調整 -Xmx、切換收集器、調優 G1 參數
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved