Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/378.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Maven JAXB插件的差异_Java_Maven 2_Jaxb_Maven_Maven Plugin - Fatal编程技术网

Java Maven JAXB插件的差异

Java Maven JAXB插件的差异,java,maven-2,jaxb,maven,maven-plugin,Java,Maven 2,Jaxb,Maven,Maven Plugin,我已经确定了2的两个插件存在,具有一些不同的配置 一个来自太阳,另一个来自莫约豪斯: 可以推荐这两个插件中的哪一个 谢谢你,马特。在我的小研究项目中,我发现sunners提供了另一个插件: com.sun.tools.xjc.maven2 maven jaxb插件 那一个: org.jvnet.jaxb2.maven2 maven-jaxb2-plugin 还有来自Codehouse的一个。我猜一个是针对原始JAXB规范的,而codehaus一个是针对JAXB 2.1规范的(如果dev.j

我已经确定了2的两个插件存在,具有一些不同的配置

一个来自太阳,另一个来自莫约豪斯:

可以推荐这两个插件中的哪一个


谢谢你,马特。在我的小研究项目中,我发现sunners提供了另一个插件:

com.sun.tools.xjc.maven2
maven jaxb插件
那一个:

org.jvnet.jaxb2.maven2
maven-jaxb2-plugin

还有来自Codehouse的一个。

我猜一个是针对原始JAXB规范的,而codehaus一个是针对JAXB 2.1规范的(如果dev.java.net将在本世纪某个时候加载,我可以肯定地说)。

让我们总结一下。我们有:

  • ()
  • ()
  • ()
  • 根据的评论,我一直使用(即插件#1):

    关于 maven2:maven-jaxb2-plugin 对 maven2:maven jaxb插件, 从我的观点来看,这是绝对的 第一个 ()

    这个插件有更多的功能 比 maven2:maven jaxb插件, 发展是积极的。最后 我是作者之一:)我想说 我们与JAXB开发人员保持联系 以及用户,并对最新的用户做出反应 功能/请求

    事实上,插件2已经死了。而且因为我一直对#1很满意,所以我从未使用过plugin#3,所以我不能对它说什么。以防万一,这里是插件#1的工作配置:

    
    ...
    真的
    org.apache.maven.plugins
    maven编译器插件
    1.5
    1.5
    org.jvnet.jaxb2.maven2
    maven-jaxb2-plugin
    生成
    
    我是这本书的作者

    maven-jaxb2-plugin目前使用jaxb2.1。在下一个版本中,我们还将提供JAXB2.0和JAXB2.2版本


    至于“哪个插件更好”的讨论,请自己决定。如果您错过了一些功能,请告诉我。

    有一点相切:我发布的Eclipse Indigo中使用maven-jaxb2-plugin时出现了一个问题。最近提供了一个修复(扩展)


    这并不意味着与maven-jaxb2-plugin优于maven2jaxb-plugin的建议完全不同。我不知道,但我认为maven2 jaxb插件也有同样的问题,可能没有解决。

    我最近尝试了上面提到的三个插件(也包括在这里):

  • maven-jaxb2-plugin()
  • maven jaxb插件(
  • jaxb2 maven插件()
  • 最后我使用了第四个选项:CXF XJC Maven插件

    如果我遗漏了一些我想知道的东西,但是对于我试图做的事情来说,配置似乎更简单,并且更容易让我在同一名称空间中处理重复的类生成——类似于这个问题:

    现在,我可以对每个传入的XSD和相应的java包进行细粒度控制;下面是一个与我正在使用的配置相近的示例配置

    
    org.apache.cxf
    cxf xjc插件
    2.3.0
    org.apache.cxf.xjc插件:cxf-xjc-dv:2.3.0
    生成源
    生成源
    xsdtojava
    ${basedir}/target/generated sources/src/main/java
    src/main/resources/schema/commands.xsd
    com.foo.bar.commands
    src/main/resources/schema/responses.xsd
    com.foo.bar.responses
    
    • maven-jaxb2-plugin使用Oracle/Sun的JAXB参考实现
    • cxf和jaxb2 maven插件使用ApacheXerces

    是的,如果有可能下载org.jvnet.jaxb2.maven2插件,我会比较它们。由于java的repo没有提供插件,所以退出了游戏,尽管配置语法似乎更方便。Thx用于配置。最后我使用了codehouse插件,它为我的ne提供了相同的功能eds。就我所见,只是语法不同。关于Maven的网站上直接提到的是哪一个呢?@rcl:我不能说太多,但因为它已经4年多没有更新了,我不确定我会使用它。我只是对它感到高兴。至于#1,托管文档的网站今天似乎已经关闭了。这个项目是否处于活动状态?@Gregor
    maven-jaxb2-plugin
    现在托管在上。文档在中。非常好的建议。我刚刚尝试了这个,效果非常好-谢谢。有人知道是否有Eclipse m2e连接器用于此吗?我在谷歌上搜索了一下,没有找到。希望我错过了它,因为我喜欢这个选项。cxf-xjc-plugin有Eclipse c但我不认为手动运行maven生成代码并添加源目录有问题。事实上,我的经验是,具有生成类(JAXB、XMLBeans)的项目最好保持关闭状态,并以二进制形式(jar)依赖。这样IDE工作得更快,并且没有类路径问题(尤其是XMLBeans)。看起来CXF XJC Maven插件仅支持从架构生成Java源,无法从Jaxb注释生成架构。是否可以使用Maven-jaxb2-Plugin从类生成架构?或者该插件是否仅支持xsd->Java?当前仅支持xsd->Java。名称“Maven-jaxb2-Plugin”是否与Or冲突它是官方的maven插件吗?我不介意它的名字,但由于它从未更新过,我认为该插件将不再被维护。@lanoxx不,它不是。它通常是