首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >JAXB中的Java 9模块问题

JAXB中的Java 9模块问题
EN

Stack Overflow用户
提问于 2018-05-02 15:40:09
回答 1查看 1.8K关注 0票数 2

我正在升级我们的应用程序以使用Java 9(初步步骤.一旦我们开始工作,我们就会跳到10)。我们遇到的问题之一是,在运行时,我们得到了一个模块异常,而我似乎不知道发生了什么。诚然,我对模块还不熟悉,我已经阅读了所有关于这个主题的资料,但我猜这可能是一个简单的答案。

要调用的运行库是

代码语言:javascript
运行
复制
java --add-modules java.se,java.se.ee -cp mainjar.jar:jaxb-api.jar:jaxb-impl.jar:jaxb-core.jar foo.bar.Launch

当试图读取XML数据时,会出现异常:

代码语言:javascript
运行
复制
 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)
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 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

代码语言:javascript
运行
复制
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;
}
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50138516

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档