Bor*_*ris 99 java jaxb java-11
我正在尝试使用JAXB将XML数据反序列化为Java内容树,在解组时验证XML数据:
try {
JAXBContext context = JAXBContext.newInstance("com.acme.foo");
Unmarshaller unmarshaller = context.createUnmarshaller();
unmarshaller.setSchema(schema);
FooObject fooObj = (FooObject) unmarshaller.unmarshal(new File("foo.xml"));
} catch (UnmarshalException ex) {
ex.printStackTrace();
} catch (JAXBException ex) {
ex.printStackTrace();
}
Run Code Online (Sandbox Code Playgroud)
当我使用Java 8构建项目时,它很好,但使用Java 11构建它失败并出现编译错误:
package javax.xml.bind does not exist
Run Code Online (Sandbox Code Playgroud)
我该如何解决这个问题?
Bor*_*ris 192
根据发行说明,Java 11删除了Java EE模块:
java.xml.bind (JAXB) - REMOVED
Run Code Online (Sandbox Code Playgroud)
有关详细信息,请参阅JEP 320.
您可以使用备用版本的Java EE技术来解决此问题.只需添加包含所需类的Maven依赖项:
<dependency>
<groupId>javax.xml.bind</groupId>
<artifactId>jaxb-api</artifactId>
<version>2.3.0</version>
</dependency>
<dependency>
<groupId>com.sun.xml.bind</groupId>
<artifactId>jaxb-core</artifactId>
<version>2.3.0</version>
</dependency>
<dependency>
<groupId>com.sun.xml.bind</groupId>
<artifactId>jaxb-impl</artifactId>
<version>2.3.0</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
89973 次 |
| 最近记录: |