You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

JVM 1.17下Open Web Start无法打开JNLP文件问题求助

解决JDK 17下Open Web Start启动JNLP时的IllegalAccessError问题

问题原因

该错误源于**Java 9引入的模块系统(JPMS)**的访问限制:com.jidesoft.plaf.LookAndFeelFactory所在的未命名模块,无法访问java.desktop模块中的com.sun.java.swing.plaf.windows.WindowsLookAndFeel类——Java 8无模块系统,所以不存在这个限制,程序可以正常运行。

解决方案

1. 添加JVM模块访问参数

修改JNLP文件中<j2se>标签的java-vm-args,添加模块导出/开放参数,允许未命名模块访问JDK内部的相关包:

<j2se version="1.8+" 
      java-vm-args="-Xincgc --add-exports=java.desktop/com.sun.java.swing.plaf.windows=ALL-UNNAMED --add-opens=java.desktop/com.sun.java.swing.plaf.windows=ALL-UNNAMED" 
      href="http://java.sun.com/products/autodl/j2se" 
      initial-heap-size="128m" 
      max-heap-size="512m" />
  • --add-exports:允许未命名模块访问指定的包
  • --add-opens:解决可能存在的反射访问限制(Jidesoft组件可能通过反射调用内部类)

2. 升级Jidesoft组件版本

检查是否有适配Java 9+模块系统的Jidesoft新版本,新版本通常会移除对JDK内部API的依赖,改用公开API实现,这是更稳定的长期解决方案。

3. 固定使用JDK 1.8运行(临时方案)

将<j2se>的version指定为1.8*,强制程序使用Java 8运行,这是最直接的临时规避方法,但无法利用Java 17的新特性。


错误堆栈

net.sourceforge.jnlp.LaunchException: Fatal: Launch Error: Could not launch JNLP file. The application has not been initialized, for more information execute javaws/browser from the command line and send a bug report.
    at net.sourceforge.jnlp.Launcher.launchApplication(Launcher.java:413)
    at net.sourceforge.jnlp.Launcher.access$300(Launcher.java:71)
    at net.sourceforge.jnlp.Launcher$TgThread.run(Launcher.java:660)
Caused by: java.lang.reflect.InvocationTargetException
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
    at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.base/java.lang.reflect.Method.invoke(Method.java:568)
    at net.sourceforge.jnlp.Launcher.launchApplication(Launcher.java:406)
    ... 2 more
Caused by: java.lang.IllegalAccessError: class com.jidesoft.plaf.LookAndFeelFactory (in unnamed module @0x30d1453f) cannot access class com.sun.java.swing.plaf.windows.WindowsLookAndFeel (in module java.desktop) because module java.desktop does not export com.sun.java.swing.plaf.windows to unnamed module @0x30d1453f
    at com.jidesoft.plaf.LookAndFeelFactory.installJideExtension(Unknown Source)
    at com.jidesoft.plaf.LookAndFeelFactory.installJideExtension(Unknown Source)
    at com.ericsson.charging.vxmlivr.editor.core.common.CommonUtils.setLookAndFeel(CommonUtils.java:342)
    at com.ericsson.charging.vxmlivr.editor.workflow.client.gui.WorkflowEditorFrame.main(WorkflowEditorFrame.java:663)
    ... 7 more

原始JNLP文件

<?xml version="1.0" encoding="utf-8"?>
<jnlp spec="1.0+"
      codebase="https://214.5.247.200:13202/EditorServer/">        
    <information>
      <title>Workflow Editor</title>
      <vendor>Ericsson</vendor>
      <description>Workflow Editor</description>
     
      <offline-allowed/>
    </information>
    <security>
        <all-permissions/> 
    </security>  

    <resources>         
    <jar href="client/CXC1729877-EditorCore.jar" main="true" download="eager"/> 
    <jar href="client/CXC1729512-WorkflowClient.jar" main="true" download="eager"/> 
    <jar href="lib/commonlookandfeel.jar"/>
    <jar href="lib/JGo.jar"/>
    <jar href="lib/JGoLayout.jar"/>
    <jar href="lib/jide-action.jar"/>
    <jar href="lib/jide-beaninfo.jar"/>
    <jar href="lib/jide-common.jar"/>
    <jar href="lib/jide-components.jar"/>
    <jar href="lib/jide-dashboard.jar"/>
    <jar href="lib/jide-dialogs.jar"/>
    <jar href="lib/jide-dock.jar"/>
    <jar href="lib/jide-editor.jar"/>
    <jar href="lib/xalan-2.7.2.jar"/>
    <jar href="lib/jide-grids.jar"/>
    <jar href="lib/serializer-2.7.2.jar"/>
    <jar href="lib/activation.jar"/>
    <jar href="lib/jsr173_1.0_api.jar"/>
    <jar href="lib/commons-httpclient-3.1.jar"/>
    <jar href="lib/commons-codec-1.15.jar"/>
    <extension name="EditorServerLogging.jsp" href="jspFiles/com/ericsson/charging/vxmlivr/editor/server/EditorServerLogging.jsp"/>
    <j2se version="1.8+"     java-vm-args="-Xincgc" href="http://java.sun.com/products/autodl/j2se" initial-heap-size="128m" max-heap-size="512m" />

    </resources>
    <application-desc main-class="abc">
    <argument>214.xyz</argument>
    <argument>13202</argument>
    <argument>https</argument>
    </application-desc>
</jnlp>

内容的提问来源于stack exchange,提问作者Noob Coder

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.30 23:51:37