gpt4 book ai didi

plugins - 如何使用 Maven 中的 jaxb_commons 插件

转载 作者:行者123 更新时间:2023-12-02 15:25:12 26 4
gpt4 key购买 nike

我正在尝试使用 jaxb 插件将接口(interface)插入到从 Maven 生成类的选择元素中。问题是我似乎无法弄清楚如何从 Maven 中执行此操作,文档中不清楚存储库,并且唯一的示例(下面)不起作用,它似乎忽略了该插件(maven 报告没有关于找不到它的错误)或插件没有项目文档中当前列出的所有附加组件:

<plugin>
<groupId>org.jvnet.jaxb2.maven2</groupId>
<artifactId>maven-jaxb2-plugin</artifactId>
<version>0.6.1</version>
<executions>
<execution>
<goals>
<goal>generate</goal>
</goals>
</execution>
</executions>
<configuration>
<generatePackage>br.com.wonder.nfe.xml</generatePackage>
<args>
<arg>-Xifins</arg>
</args>
<plugins>
<plugin>
<groupId>org.jvnet.jaxb2_commons</groupId>
<artifactId>basic</artifactId>
<version>0.4.1.5</version>
</plugin>
</plugins>
</configuration>
</plugin>

我在根 pom 中有这些:

<pluginRepositories>
<pluginRepository>
<id>maven2-repository.dev.java.net</id>
<url>http://download.java.net/maven/2</url>
</pluginRepository>
<pluginRepository>
<id>maven-repository.dev.java.net</id>
<name>Java.net Maven 1 Repository (legacy)</name>
<url>http://download.java.net/maven/1</url>
<layout>legacy</layout>
</pluginRepository>
</pluginRepositories>

运行给出:

设置 CmdLine 选项“[-Xifins、-episode、/home/administrador/JavaApp/wnfe3/wnfe-ejb/target/generated-sources/xjc/META-INF/sun-jaxb.episode]”时出错!

嵌入错误:无法识别的参数-Xifins

最佳答案

不幸的是,接口(interface)注入(inject)插件似乎不再得到很好的支持。事实上,我无法找到可供下载的 JAR。

幸运的是,JAXB2 Basics Plugins提供了类似的机制,用于将接口(interface)添加到生成的 JAXB stub (请参阅 Inheritance plugin )。

JAXB2 Basics 插件可在 java.net Maven 存储库中找到。

使用 Inheritance 插件,您的 POM 将如下所示:

<build>
<plugins>
<plugin>
<groupId>org.jvnet.jaxb2.maven2</groupId>
<artifactId>maven-jaxb2-plugin</artifactId>
<version>0.6.2</version>
<executions>
<execution>
<goals>
<goal>generate</goal>
</goals>
</execution>
</executions>
<configuration>
<extension>true</extension>
<args>
<arg>-Xinheritance</arg>
</args>
<plugins>
<plugin>
<groupId>org.jvnet.jaxb2_commons</groupId>
<artifactId>jaxb2-basics</artifactId>
<version>0.5.3</version>
</plugin>
</plugins>
</configuration>
</plugin>
...
</plugins>
...
</build>

Inheritance plugin documentation有一个关于 JAXB 绑定(bind)的示例。为了您的方便,我复制了以下示例:

<?xml version="1.0"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:jaxb="http://java.sun.com/xml/ns/jaxb"
xmlns:inheritance="http://jaxb2-commons.dev.java.net/basic/inheritance"
jaxb:version="2.1"
jaxb:extensionBindingPrefixes="inheritance">

<!-- ... -->

<xs:complexType name="WillBeMadeCloneableType">
<xs:annotation>
<xs:appinfo>
<inheritance:implements>java.lang.Cloneable</inheritance:implements>
</xs:appinfo>
</xs:annotation>
<!-- ... -->
</xs:complexType>
<!-- ... -->
</xs:schema>

关于plugins - 如何使用 Maven 中的 jaxb_commons 插件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1999163/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com