当前位置: 首页 > 面试题库 >

我的Maven项目中应为JAXB RI使用哪些工件?

丁书
2023-03-14
问题内容

从历史上看,我一直在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运行时模块。

因此,这些工件看起来已经过时了。

问题是:

应该改用哪些工件?


问题答案:

在与Oracle明确之后,应使用以下工件:

运行

如果要将XML解组到Java对象或将Java对象编组为XML:

<dependency>
    <groupId>org.glassfish.jaxb</groupId>
    <artifactId>jaxb-runtime</artifactId>
    <version>...</version>
</dependency>

模式编译器(XJC)

如果您有XML模式,并想从中生成Java代码

<dependency>
    <groupId>org.glassfish.jaxb</groupId>
    <artifactId>jaxb-xjc</artifactId>
    <version>...</version>
</dependency>

模式生成器(JXC / schemagen

如果您具有带有JAXB批注的Java类,并希望基于它们生成XML模式:

<dependency>
    <groupId>org.glassfish.jaxb</groupId>
    <artifactId>jaxb-jxc</artifactId>
    <version>...</version>
</dependency>

后两个工件(org.glassfish.jaxb:jaxb-xjcorg.glassfish.jaxb:jaxb- jxc)由Maven插件包装,因此您通常在运行时不需要它们。

Eclipse使用

如果您的Maven项目由于某种原因无法获得完整的类路径,请打开调试输出并检查Maven控制台。您可能在那里看到以下错误消息:

[错误]
com.sun:tools:jar的’dependencyManagement.dependencies.dependency.systemPath’必须指定绝对路径,但为$
{tools.jar} @

这是由于以下问题:

Maven没有正确选择JAVA_HOME

@rustyx
的解决方案是在-vm选项中添加eclipse.ini

-vm
<PATH_TO_JDK>\jre\bin\javaw.exe


 类似资料:
  • null 由于大约版本,这些工件现在被描述为“旧”: 旧的JAXB运行时模块。

  • 问题内容: 我应该将Maven 2项目放在哪里,以便将Maven放在目标EAR工件中? 问题答案: 本应打包在最终EAR的目录下(旁标准)。 使用Maven EAR插件, 额外文件要包含在EAR中 的默认位置(可以使用参数控制)是。因此,以下操作将起作用(使用默认值):

  • 我得到以下错误消息,同时添加m2e Maven与eclipse: 无法完成安装,因为找不到一个或多个必需项。正在安装的软件:用于Eclipse的m2e-Maven集成(包括孵化组件)1.6。1.20150625-2338(org.eclipse.m2e.feature.feature.group 1.6.1.20150625-2338)缺少要求:Maven POM XML编辑器1.6。1.2015

  • 问题内容: 我使用JPA,并将Hibernate作为其实现。我的项目中 需要* 具备哪些依赖关系? * 问题答案: 我相信您仅需要两件事就是hibernate的entitymanager,然后是SLF4J日志记录捆绑包之一。其他所有内容都应作为依赖项引入:

  • 我在我的项目中使用maven并且我的类没有任何错误,但是当我使用时,它会给我一个不同的错误,如下所示: [错误](使用-source 5或更高版本启用泛型) [错误]ArrayList列表=new ArrayList(); [错误]。...。 我还将maven和版本设置为1.6

  • 本文向大家介绍vim 我可以使用哪些选项?,包括了vim 我可以使用哪些选项?的使用技巧和注意事项,需要的朋友参考一下 示例 如果您不知道应该使用哪些选项,则可能对该:options命令感兴趣。 这将打开一个列出所有Vim选项并显示其当前值的拆分。有26个部分显示您可以尝试的所有选项。 例如 在值行(例如set nowrap)上,您可以按CR切换值(如果它是二进制值)。在选项行(例如wrap lo