【发布时间】:2021-11-26 20:03:55
【问题描述】:
我们正在使用 Wildfly 10.0.1 并打算切换到 jdk17 LTS。 我刚刚在我的 mac 上安装了一个新的 jdk,并下载了 Wildfly 10.0.1 的干净版本(没有部署,没有配置更改等等)。 当我尝试运行 Wildfly (./standalone.sh) 时,我收到以下错误:
./standalone.sh
警告:JBOSS_HOME 可能指向不同的安装 - 可能会出现不可预知的结果。
JBOSS_HOME: /opt/wildfly_clean
================================================ ============================
JBoss 引导环境
JBOSS_HOME: /opt/wildfly_clean
JAVA:/Library/Java/JavaVirtualMachines/jdk-17.0.1.jdk/Contents/Home/bin/java
JAVA_OPTS: -server -Xms64m -Xmx512m -XX:MetaspaceSize=96M -XX:MaxMetaspaceSize=256m -Djava.net.preferIPv4Stack=true -Djboss.modules.system.pkgs=org.jboss.byteman -Djava.awt。无头=真
================================================ ============================
线程“主”javax.xml.stream.FactoryConfigurationError 中的异常:无法实例化提供程序 com.sun.xml.internal.stream.XMLInputFactoryImpl:java.lang.reflect.InvocationTargetException 在 java.xml/javax.xml.stream.FactoryFinder.newInstance(FactoryFinder.java:201) 在 java.xml/javax.xml.stream.FactoryFinder.newInstance(FactoryFinder.java:148) 在 java.xml/javax.xml.stream.FactoryFinder.find(FactoryFinder.java:326) 在 java.xml/javax.xml.stream.FactoryFinder.find(FactoryFinder.java:223) 在 java.xml/javax.xml.stream.XMLInputFactory.newInstance(XMLInputFactory.java:166) 在 __redirected.__XMLInputFactory.(__XMLInputFactory.java:66) 在 __redirected.__JAXPRedirected.initAll(__JAXPRedirected.java:77) 在 org.jboss.modules.Module$1.run(Module.java:132) 在 org.jboss.modules.Module$1.run(Module.java:119) 在 java.base/java.security.AccessController.doPrivileged(AccessController.java:318) 在 org.jboss.modules.Module.(Module.java:119) 在 org.jboss.modules.Main.main(Main.java:385) 引起:java.lang.reflect.InvocationTargetException 在 java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) 在 java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:77) 在 java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) 在 java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499) 在 java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:480) 在 java.xml/javax.xml.stream.FactoryFinder.newInstance(FactoryFinder.java:190) ... 11 更多 原因:javax.xml.parsers.FactoryConfigurationError:Provider __redirected.__SAXParserFactory 无法实例化:java.lang.reflect.InvocationTargetException 在 java.xml/javax.xml.parsers.FactoryFinder.newInstance(FactoryFinder.java:199) 在 java.xml/javax.xml.parsers.FactoryFinder.newInstance(FactoryFinder.java:147) 在 java.xml/javax.xml.parsers.FactoryFinder.find(FactoryFinder.java:227) 在 java.xml/javax.xml.parsers.SAXParserFactory.newInstance(SAXParserFactory.java:181) 在 java.xml/jdk.xml.internal.JdkXmlUtils.getSAXFactory(JdkXmlUtils.java:352) 在 java.xml/jdk.xml.internal.JdkXmlUtils.(JdkXmlUtils.java:89) 在 java.xml/com.sun.org.apache.xerces.internal.impl.PropertyManager.initConfigurableReaderProperties(PropertyManager.java:144) 在 java.xml/com.sun.org.apache.xerces.internal.impl.PropertyManager.(PropertyManager.java:78) 在 java.xml/com.sun.xml.internal.stream.XMLInputFactoryImpl.(XMLInputFactoryImpl.java:51) ... 17 更多 引起:java.lang.reflect.InvocationTargetException 在 java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) 在 java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:77) 在 java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) 在 java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499) 在 java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:480) 在 java.xml/javax.xml.parsers.FactoryFinder.newInstance(FactoryFinder.java:188) ... 25 更多 原因:java.lang.IllegalAccessError:类 __redirected.__SAXParserFactory 无法访问类 com.sun.org.apache.xerces.internal.jaxp.SAXParserFactoryImpl(在模块 java.xml 中),因为模块 java.xml 不导出 com.sun。 org.apache.xerces.internal.jaxp 到未命名的模块 @2b05039f 在 java.base/jdk.internal.reflect.Reflection.newIllegalAccessException(Reflection.java:392) 在 java.base/java.lang.reflect.AccessibleObject.checkAccess(AccessibleObject.java:674) 在 java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:489) 在 java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:480) 在 __redirected.__SAXParserFactory.(__SAXParserFactory.java:106) ... 31 更多
在 inet 中没有太多关于它的信息。 所以,我的问题是这个错误是什么意思,是否有可能在 jdk 17 上成功运行 wildfly(更改 JAVA_OPTS 等)。
是否可以在 jdk17 上运行 Wildfly 10?
谢谢。
【问题讨论】:
-
临时解决方法:尝试将
--add-opens java.xml/com.sun.org.apache.xerces.internal.jaxp=ALL-UNNAMED添加到JAVA_OPTS
标签: wildfly-10 java-17