我正在升级我们的应用程序以使用Java 9(初步步骤.一旦我们开始工作,我们就会跳到10)。我们遇到的问题之一是,在运行时,我们得到了一个模块异常,而我似乎不知道发生了什么。诚然,我对模块还不熟悉,我已经阅读了所有关于这个主题的资料,但我猜这可能是一个简单的答案。
要调用的运行库是
java --add-modules java.se,java.se.ee -cp mainjar.jar:jaxb-api.jar:jaxb-impl.jar:jaxb-core.jar foo.bar.Launch当试图读取XML数据时,会出现异常:
WARN:09:22:10.777 [main] (Preference:969) - Failed to unmarshal preference value for key [launch.maxMemory]: javax.xml.bind.JAXBException: Package java.lang with JAXB class java.lang.Integer defined in a module java.base must be open to at least java.xml.bind module.
javax.xml.bind.JAXBException: Package java.lang with JAXB class java.lang.Integer defined in a module java.base must be open to at least java.xml.bind module.
at java.xml.bind@9.0.4/javax.xml.bind.ModuleUtil.delegateAddOpensToImplModule(Unknown Source)
at java.xml.bind@9.0.4/javax.xml.bind.ContextFinder.newInstance(Unknown Source)
at java.xml.bind@9.0.4/javax.xml.bind.ContextFinder.newInstance(Unknown Source)
at java.xml.bind@9.0.4/javax.xml.bind.ContextFinder.find(Unknown Source)
at java.xml.bind@9.0.4/javax.xml.bind.JAXBContext.newInstance(Unknown Source)
at java.xml.bind@9.0.4/javax.xml.bind.JAXBContext.newInstance(Unknown Source)发布于 2020-12-20 01:01:17
我也有过类似的问题。
我在com.redeg中使用了实体,在com.redeg.xml中使用XML并在module-info.java文件中添加一行opens com.redeg.xml to java.xml.bind的类有所帮助。
module-info.java
module com.redeg {
exports com.redeg;
requires java.xml.bind;
opens com.redeg to java.xml.bind;
opens com.redeg.xml to java.xml.bind;
}https://stackoverflow.com/questions/50138516
复制相似问题