我们正在公司迁移使用 java 1.7 的 Web 应用程序。然后我们选择使用最新的稳定版本的 JDK 17 和 Payara 服务器(我们已经使用 Glassfish),但是在 NetBeans 上链接服务器时,服务器属性中似乎没有选择 Java 17 LTS 平台。有没有人经历过这个?
1 回答
添加 Payara 服务器时,我遇到了与您相同的问题:即使 NetBeans 在 JDK 17 上运行良好,JDK 17 也没有作为 Payara 的平台提供。Java SE 平台窗口甚至明确地给了我错误Payara 服务器无法启动使用 JDK 17(默认)。请选择另一个 Java SE 平台。启动 Payara 时。
我没有真正的解决方案,但一个简单的解决方法是将 JDK 11 添加为 NetBeans 中的第二个 Java 平台(工具 > Java 平台 > 添加平台...),然后选择 JDK 11。Payara 在 JDK 11 下运行良好:
之后,只需在服务器启动后转到http://localhost:4848/
(或您选择的任何替代端口)以验证 Payara 是否正常工作:
备注:
- 您只能为 Payara 使用 LTS 版本,这意味着您目前唯一的 JDK 选项是 8、11 和 17。有关详细信息,请参阅为什么 Payara 平台仅支持 JDK 的 LTS 版本。
- 我选择了提供的最新版本的 Payara:5.2021.9。
- 我不知道为什么即使 NetBeans 本身在 JDK 17 上运行,Payara 也无法开始使用 JDK 17,但我怀疑 NetBeans 12.6 只为 JDK 17 提供“实验性支持”可能是相关的。你可以追求这个通过创建 NetBeans 错误报告,尽管您必须先注册。
- 仅供参考,我已将 Payara 服务器日志的内容粘贴在下面,以防您仍有问题:
信息:创建捆绑供应商类 = com.sun.enterprise.glassfish.bootstrap.osgi.BundleProvisioner 类。在服务注册表中注册了 com.sun.enterprise.glassfish.bootstrap.osgi.EmbeddedOSGiGlassFishRuntime@537969f1。#!## LogManagerService.postConstruct : rootFolder=C:\Payara\glassfish #!## LogManagerService.postConstruct : templateDir=C:\Payara\glassfish\lib\templates #!## LogManagerService.postConstruct : src=C:\Payara \glassfish\lib\templates\logging.properties #!## LogManagerService.postConstruct : dest=C:\Payara\glassfish\domains\domain1\config\logging.properties
运行 Payara 版本:Payara Server 5.2021.9 #badassfish (build 878)|#] 服务器日志文件正在使用 Formatter 类:com.sun.enterprise.server.logging.ODLLogFormatter|#] 注册 fish.payara.ha.hazelcast.store .HazelcastBackingStoreFactoryProxy for persistence-type = hazelcast in BackingStoreFactoryRegistry|#]
Hazelcast 实例绑定到payara/Hazelcast的JNDI|#] JSR107缓存提供程序绑定到payara/CachingProvider的JNDI|#] JSR107默认缓存管理器绑定到payara/CacheManager的JNDI| #]
网络监听器 http-listener-1 开始于:4ms - 绑定到 [/0.0.0.0:8080]|#] HV000001: Hibernate Validator 6.1.5.Final|#]
网络监听器 http-listener-2 开始于:1ms - 绑定到 [/0.0.0.0:8181]|#] 网络监听器 admin-listener 开始于:2ms - 绑定到 [/0.0.0.0:4848]|#] Grizzly 2.4 .4 开始于:5,262ms - 绑定到 [http-listener-1:8080, http-listener-2:8181, admin-listener:4848]|#] Network Listener iiop-service 开始于:2ms - 绑定到 [/ 0.0.0.0:3700]|#] Payara Server 5.2021.9 #badassfish (878) 启动时间 : Felix (2,025ms), startup services(6,171ms), total(8,196ms)|#] 数据网格状态 Payara 数据网格状态: DG 版本: 4 DG 名称: development DG 大小: 1 实例: { DataGrid: development 名称: server Lite: false This: true UUID: ffa0f7cb-6228-45bd-a4a0-21e098f4bef9 地址: /192.168.50.15:4900 }|# ] Payara 通知服务自举。|#] 引导监控控制台运行时|#] 开始服务器的监控数据收集|#] 开始服务器的监控监视收集|#]
网络侦听器 JMS_PROXY_default_JMS_host 开始于:2 毫秒 - 绑定到 [/0.0.0.0:7676]|#] JMXStartupService 已在 JMXService URL 服务上启动 JMXConnector:jmx:rmi://0.0.0.0:8686/jndi/rmi://0.0。 0.0:8686/jmxrmi|#]
GlassFishORBFactory 服务已初始化。|#] 在上下文中侦听 REST 请求:/management/domain。|#] 为服务参考 [org.osgi.service.metatype.MetaTypeProvider] 跳过居民注册无法获取服务对象。|#] Java 安全管理器被禁用。|#]
正在进入安全启动服务。|#] 正在加载策略提供程序 com.sun.enterprise.security.provider.PolicyWrapper。|#] 安全服务已成功启动。|#] 在主机/端口 0.0 上创建了 HTTP 侦听器 http-listener-1 .0.0:8080|#] 在主机/端口 0.0.0.0:8181 上创建 HTTP 监听器 http-listener-2|#] 在主机/端口 0.0.0.0:4848 上创建 HTTP 监听器 admin-listener|#] 创建虚拟服务器服务器| #] 创建虚拟服务器 __asadmin|#] 虚拟服务器服务器加载默认 Web 模块 |#] 加载应用程序 __admingui 在 1,757 毫秒内完成|#] 初始化 Mojarra |version.string| for context ''|#] Loading application [__admingui] at [/]|#] 来自 ServletContext 的上下文路径:不同于来自 bundle 的路径:/|#]
重定向到 /common/version.jsf|#] 管理控制台:初始化会话属性...|#]信息:创建捆绑供应商类 = com.sun.enterprise.glassfish.bootstrap.osgi.BundleProvisioner 类。在服务注册表中注册了 com.sun.enterprise.glassfish.bootstrap.osgi.EmbeddedOSGiGlassFishRuntime@537969f1。#!## LogManagerService.postConstruct : rootFolder=C:\Payara\glassfish #!## LogManagerService.postConstruct : templateDir=C:\Payara\glassfish\lib\templates #!## LogManagerService.postConstruct : src=C:\Payara \glassfish\lib\templates\logging.properties #!## LogManagerService.postConstruct : dest=C:\Payara\glassfish\domains\domain1\config\logging.properties
运行 Payara 版本:Payara Server 5.2021.9 #badassfish (build 878)|#] 服务器日志文件正在使用 Formatter 类:com.sun.enterprise.server.logging.ODLLogFormatter|#] 注册 fish.payara.ha.hazelcast.store .HazelcastBackingStoreFactoryProxy for persistence-type = hazelcast in BackingStoreFactoryRegistry|#]
Hazelcast 实例绑定到payara/Hazelcast的JNDI|#] JSR107缓存提供程序绑定到payara/CachingProvider的JNDI|#] JSR107默认缓存管理器绑定到payara/CacheManager的JNDI| #]
网络监听器 http-listener-1 开始于:4ms - 绑定到 [/0.0.0.0:8080]|#] HV000001: Hibernate Validator 6.1.5.Final|#]
网络监听器 http-listener-2 开始于:1ms - 绑定到 [/0.0.0.0:8181]|#] 网络监听器 admin-listener 开始于:2ms - 绑定到 [/0.0.0.0:4848]|#] Grizzly 2.4 .4 开始于:5,262ms - 绑定到 [http-listener-1:8080, http-listener-2:8181, admin-listener:4848]|#] Network Listener iiop-service 开始于:2ms - 绑定到 [/ 0.0.0.0:3700]|#] Payara Server 5.2021.9 #badassfish (878) 启动时间 : Felix (2,025ms), startup services(6,171ms), total(8,196ms)|#] 数据网格状态 Payara 数据网格状态: DG 版本: 4 DG 名称: development DG 大小: 1 实例: { DataGrid: development 名称: server Lite: false This: true UUID: ffa0f7cb-6228-45bd-a4a0-21e098f4bef9 地址: /192.168.50.15:4900 }|# ] Payara 通知服务自举。|#] 引导监控控制台运行时|#] 开始服务器的监控数据收集|#] 开始服务器的监控监视收集|#]
网络侦听器 JMS_PROXY_default_JMS_host 开始于:2 毫秒 - 绑定到 [/0.0.0.0:7676]|#] JMXStartupService 已在 JMXService URL 服务上启动 JMXConnector:jmx:rmi://0.0.0.0:8686/jndi/rmi://0.0。 0.0:8686/jmxrmi|#]
GlassFishORBFactory 服务已初始化。|#] 在上下文中侦听 REST 请求:/management/domain。|#] 为服务参考 [org.osgi.service.metatype.MetaTypeProvider] 跳过居民注册无法获取服务对象。|#] Java 安全管理器被禁用。|#]
正在进入安全启动服务。|#] 正在加载策略提供程序 com.sun.enterprise.security.provider.PolicyWrapper。|#] 安全服务已成功启动。|#] 在主机/端口 0.0 上创建了 HTTP 侦听器 http-listener-1 .0.0:8080|#] 在主机/端口 0.0.0.0:8181 上创建 HTTP 监听器 http-listener-2|#] 在主机/端口 0.0.0.0:4848 上创建 HTTP 监听器 admin-listener|#] 创建虚拟服务器服务器| #] 创建虚拟服务器 __asadmin|#] 虚拟服务器服务器加载默认 Web 模块 |#] 加载应用程序 __admingui 在 1,757 毫秒内完成|#] 初始化 Mojarra |version.string| for context ''|#] Loading application [__admingui] at [/]|#] 来自 ServletContext 的上下文路径:不同于来自 bundle 的路径:/|#]
重定向到 /common/version.jsf|#] 管理控制台:初始化会话属性...|#]