lex*_*ore 38 java jaxb jaxb2 maven
从历史上看,我总是在我的Maven项目中使用以下JAXB RI工件:
com.sun.xml.bind:jaxb-impl - 运行com.sun.xml.bind:jaxb-xjc - 模式编译器com.sun.xml.bind:jaxb-jxc - 模式生成器从大约版本开始,2.2.10*这些工件现在被描述为"旧":
com.sun.xml.bind:jaxb-impl旧的JAXB运行时模块.
所以看起来这些工件现在已经过时了.
问题是:
应该使用哪些工件?
lex*_*ore 60
在使用Oracle澄清之后,应使用以下工件:
如果要将XML解组为Java对象或将Java对象编组为XML:
<dependency>
<groupId>org.glassfish.jaxb</groupId>
<artifactId>jaxb-runtime</artifactId>
<version>...</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)
如果您有XML Schema并且想要从中生成Java代码:
<dependency>
<groupId>org.glassfish.jaxb</groupId>
<artifactId>jaxb-xjc</artifactId>
<version>...</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)
schemagen)如果您有带有JAXB注释的Java类,并希望基于它们生成XML模式:
<dependency>
<groupId>org.glassfish.jaxb</groupId>
<artifactId>jaxb-jxc</artifactId>
<version>...</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)
后两个工件(org.glassfish.jaxb:jaxb-xjc和org.glassfish.jaxb:jaxb-jxc)由Maven插件包装,因此通常在运行时不需要它们.
如果您的Maven项目以某种方式无法获得完整的类路径,请打开调试输出并检查Maven控制台.您可能会在那里看到以下错误消息:
[错误]'dependencyManagement.dependencies.dependency.systemPath'对于com.sun:tools:jar必须指定一个绝对路径,但是$ {tools.jar} @
这是由于以下问题:
@rustyx 的解决方案是添加-vm选项eclipse.ini:
-vm
<PATH_TO_JDK>\jre\bin\javaw.exe
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
19720 次 |
| 最近记录: |