我正在更新一个旧的公司内部扩展程序,用于hybris/SAP-Commerce(2005年)。它是一个用于调用API的扩展程序。
我不知道这个扩展程序有多老。
然而,当我将其应用于Java 11时,我遇到了一些问题,比如 (Java 11: import javax.xml.ws.WebFault: "Cannot resolve symbol ws")。
在重新运行命令 ./hybrisserver.sh 后,一个给定(只读)的 '.jar' 文件抛出以下异常:
Failed to instantiate [<class from given .jar>]:
Constructor threw exception;
nested exception is java.lang.IllegalAccessError:
class com.sun.org.apache.xml.internal.resolver.Catalog (in unnamed module @0x9a92113) cannot access class jdk.xml.internal.JdkXmlUtils (in module java.xml) because module java.xml does not export jdk.xml.internal to unnamed module @0x9a92113
我认为这可能是jdk的问题,所以我尝试了不同版本。
以下是我测试过的版本:
- Manjaro Linux KDE 20.1 with sdkman
Vendor | Version | Dist | Identifier
--------------------------------------------------------
AdoptOpenJDK | 11.0.8.j9 | adpt | 11.0.8.j9-adpt
Java.net | 11.0.8 | open | 11.0.8-open
SAP | 11.0.8 | sapmchn | 11.0.8-sapmchn
它们每一个都抛出相同的错误