我已经确定,两个 修订 插件 行家 2存在,以一些不同的结构。

一个是来自太阳: http://jaxb.dev.java.net/jaxb-maven2-plugin/, ,其他从Mojohaus: http://mojohaus.org/jaxb2-maven-plugin/

这两个插件可以推荐吗?


谢谢,马特。在我小小的研究项目,我发现,有相当的另一个插件来自该sunners:

<groupId>com.sun.tools.xjc.maven2</groupId>  
<artifactId>maven-jaxb-plugin</artifactId>  

这一:

<groupId>org.jvnet.jaxb2.maven2</groupId>
<artifactId>maven-jaxb2-plugin</artifactId>

并且仍然是一个Codehouse.

有帮助吗?

解决方案

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

  1. 专家-jaxb2-插件 (https://github.com/highsource/maven-jaxb2-plugin)
  2. 专家-修订插件 (https://jaxb.dev.java.net/jaxb-maven2-plugin/)
  3. jaxb2-玛文件 (https://github.com/mojohaus/jaxb2-maven-plugin)

基于上述评论意见 这个线程, 我总是用的 专家-jaxb2-插件 (即插件#1):

关于 org.jvnet.jaxb2.maven2:家-jaxb2-插件 与 com.太阳。工具。xjc.maven2:家-修订-插件, 从我的角度来看,它绝对是 第一一个 (http://maven-jaxb2-plugin.java.net/).

这个插件有更多的功能 比 com.太阳。工具。xjc.maven2:家-修订-插件, 发展是积极的。最后, 我是一个作者:)和我说 我们保持联系的修订的开发商 和用户和作出反应的最新 特/请求。

事实上,插件#2不是非常积极的(dead?).因为我一直是快乐#1的,我从来没有使用的插件#3所以不能真正说任何事情。只有在这种情况下,这一工作配置的插件#1:

<project>
  ...
  <build>
    <plugins>
      <plugin>
        <inherited>true</inherited>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
        <configuration>
          <source>1.5</source>
          <target>1.5</target>
        </configuration>
      </plugin>
      <plugin>
        <groupId>org.jvnet.jaxb2.maven2</groupId>
        <artifactId>maven-jaxb2-plugin</artifactId>
        <executions>
          <execution>
            <goals>
              <goal>generate</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>
</project>

其他提示

我最近已尝试过的三个插件上所述(包括这里):

  1. 在家-jaxb2件(http://maven-jaxb2-plugin.java.net/)
  2. 在家-修订件(https://jaxb.dev.java.net/jaxb-maven2-plugin/)
  3. 该jaxb2-玛文件(http://mojo.codehaus.org/jaxb2-maven-plugin/)

我最终使用第四个选项: CXF XJC家插件 http://cxf.apache.org/cxf-xjc-plugin.html

如果我失去了一些东西我想知道,但是配置似乎更为简单明了为什么我只是想做的更容易让我来处理重复级发生在同一个名字空间--类似于这样一个问题: 有没有办法来处理复制件的定义,跨越多个。划的文件中修订?.

我现在有颗粒状的控制每一个进入的文件和相应的java包;这是一种样品配置靠近我的使用。

 <plugin>
    <groupId>org.apache.cxf</groupId>
    <artifactId>cxf-xjc-plugin</artifactId>
    <version>2.3.0</version>
    <configuration>
        <extensions>
            <extension>org.apache.cxf.xjcplugins:cxf-xjc-dv:2.3.0</extension>
        </extensions>
    </configuration>
    <executions>
        <execution>
            <id>generate-sources</id>
            <phase>generate-sources</phase>
            <goals>
                <goal>xsdtojava</goal>
            </goals>
            <configuration>
                <sourceRoot>${basedir}/target/generated-sources/src/main/java</sourceRoot>
                <xsdOptions>
                    <xsdOption>
                        <xsd>src/main/resources/schema/commands.xsd</xsd> <!--shares a common.xsd file causing the conflicts-->
                        <packagename>com.foo.bar.commands</packagename>
                    </xsdOption>
                    <xsdOption>
                        <xsd>src/main/resources/schema/responses.xsd</xsd>
                        <packagename>com.foo.bar.responses</packagename>
                    </xsdOption>
                </xsdOptions>
            </configuration>
        </execution>
    </executions>
</plugin>

我的行家-JAXB2-插件。<作者/ p>

在行家-JAXB2-插件目前使用JAXB 2.1。在接下来的版本中,我们也将提供JAXB 2.0和2.2 JAXB版本。

至于“该插件是更好”的讨论,检查功能,自己决定。让我知道,如果你错过了一些功能。

  • 专家-jaxb2件使用的修订准执行Oracle/阳光
  • cxf和jaxb2-玛文件使用Apache了xerces

在一个轻微的切:有一个问题与使用专家-jaxb2件与日食靛,我贴 在这里,.一个解决(延长)最近已经成为可用的。

这是不是意味着不同意,在所有,与该建议的专家-jaxb2件过maven2-修订-插件。我不知道,但是我希望maven2-修订件具有相同的问题,可能未得到解决。

我猜想,一个是原来的JAXB规范和Codehaus的一种是为JAXB 2.1规范(如果dev.java.net会加载一些时间本世纪初,我可以肯定的说)

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top