Java 9 个模块问题中的 JAXB
JAXB in Java 9 module issues
我正在升级我们的应用程序以使用 Java 9(婴儿步骤...一旦我们使用 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)
我遇到了类似的问题。
我在 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;
}
我正在升级我们的应用程序以使用 Java 9(婴儿步骤...一旦我们使用 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)
我遇到了类似的问题。
我在 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;
}