开源项目
1 前言
一个问题,一篇文章,一出故事。
笔者今天使用HP服务器的iLO的Java IRC进行远程连接时候日志遇到如下错误,
[ITW-CORE][2026-09-17 10:42:50.412 CST][ERROR][net.sourceforge.jnlp.runtime.classloader.JNLPClassLoader]
Error while activating jars
java.lang.RuntimeException: java.lang.IllegalAccessException: class net.adoptopenjdk.icedteaweb.jdk89access.JarIndexAccess cannot access class jdk.internal.util.jar.JarIndex (in module java.base) because module java.base does not expor
t jdk.internal.util.jar to unnamed module @7d70d1b1
at net.adoptopenjdk.icedteaweb.jdk89access.JarIndexAccess.getJarIndex(JarIndexAccess.java:55)
at net.sourceforge.jnlp.runtime.classloader.JNLPClassLoader.doActivateJars(JNLPClassLoader.java:1279)
at net.sourceforge.jnlp.runtime.classloader.JNLPClassLoader.lambda$activateJars$3(JNLPClassLoader.java:1179)
at java.base/java.security.AccessController.doPrivileged(Native Method)
at net.sourceforge.jnlp.runtime.classloader.JNLPClassLoader.activateJars(JNLPClassLoader.java:1180)
at net.sourceforge.jnlp.runtime.classloader.JNLPClassLoader.initializeResources(JNLPClassLoader.java:830)
at net.sourceforge.jnlp.runtime.classloader.JNLPClassLoader.(JNLPClassLoader.java:352)
at net.sourceforge.jnlp.runtime.classloader.JNLPClassLoader.createInstance(JNLPClassLoader.java:425)
at net.sourceforge.jnlp.runtime.classloader.JNLPClassLoader.getInstance(JNLPClassLoader.java:497)
at net.sourceforge.jnlp.runtime.classloader.JNLPClassLoader.getInstance(JNLPClassLoader.java:470)
at net.sourceforge.jnlp.Launcher.createApplet(Launcher.java:534)
at net.sourceforge.jnlp.Launcher.launchApplet(Launcher.java:489)
at net.sourceforge.jnlp.Launcher.access$400(Launcher.java:72)
at net.sourceforge.jnlp.Launcher$TgThread.run(Launcher.java:665)
Caused by: java.lang.IllegalAccessException: class net.adoptopenjdk.icedteaweb.jdk89access.JarIndexAccess cannot access class jdk.internal.util.jar.JarIndex (in module java.base) because module java.base does not export jdk.internal.ut
il.jar to unnamed module @7d70d1b1
at java.base/jdk.internal.reflect.Reflection.newIllegalAccessException(Reflection.java:361)
at java.base/java.lang.reflect.AccessibleObject.checkAccess(AccessibleObject.java:591)
at java.base/java.lang.reflect.Method.invoke(Method.java:558)
at net.adoptopenjdk.icedteaweb.jdk89access.JarIndexAccess.getJarIndexImpl(JarIndexAccess.java:61)
at net.adoptopenjdk.icedteaweb.jdk89access.JarIndexAccess.getJarIndex(JarIndexAccess.java:53)
... 13 more
2 最佳实践
2.1 环境配置
2.2 设置合适的jre版本
2.2.1 安装合适的jre版本
sudo apt install -y openjdk-8-jre
2.2.2 导入安装的jre版本

如上图所示:
单击打开“OpenWebStart Settings”
然后选择【JVM Manager】
单击【Add location】并设置安装的jre路径“/usr/lib/jvm/java-1.8.0-openjdk-amd64/”
没有评论