我正在尝试将我的Springboot Maven项目更新为Java 17. 17 17 我已经定义了工作的Maven-Jaxb2-Plugin插件,该插件从XSD文件中成功创建了Java类. org.jvnet.jaxb2.maven2 maven-jaxb2-plugin 0.14.0 my_schema generate-sources
以下是关于 maven-jaxb2-plugin 的编程技术问答
我有这样的架构层次结构: common |---legacy | |---legacy.xsd xmlns="http://common/legacy" | |---other.xsd xmlns="http://common/legacy" | '---....xsd xmlns="http://common/legacy" |---send |---file.xsd xmlns="http://common/send" '---text.xsd xmlns="http://common/send" '---....xsd xmlns="http://common/send" 一个文件夹中的所有文件都有相同的名称空间. 现在,我想将名称空间映射到特定的Java软件包(我无法更改名称空间). 我找到了将架构绑定到软件包的解决方案.但是后来
我需要使用最新版本的Jaxb:2.2.4-1,但是Maven或Maven-Jaxb2-Plugin似乎从JDK拿起一个. 我尝试指定这样的版本: 2.2 ... 但日志读: [INFO] [jaxb2:generate {execution: common}] [INFO] Started execution. [INFO] JAXB API is loaded from the [jar:file:/opt/jdk1.6.0_24/jre/lib/rt.jar!]. [INFO] Detected JAXB API version [2.1]. 我尝试将依赖项添加到javax.xml.bind的正确版本:jaxb-api和com.sun.xml.bind:jaxb-impl,但这无济于事.
我有一个basic.xsd和两个其他A.xsd和B.xsd. A.xsd和B.xsd被转换为两个不同的Java软件包,因此我需要同一插件的两个Maven执行. 两个共享类都请参考basic.xsd.如果basic.xsd来自另一个项目,我可以通过使用episodes来很好地解决此问题. 但是如何参考当前项目? 我的第一个执行插件是仅生成从basic.xsd中的类中的类别中的Java名称空间.之后 我可以以某种方式指向basic.xsd的生成插曲? 像 这样的人 basicXSD.episode会很好,但是据我所知,我只能添加依赖项...:( 解决方案 org.jvnet.jaxb2.maven2 maven-jaxb2-plugin
我正在用以下源执行一个Maven项目 package com.coderplus.jaxb; import java.util.HashMap; import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter; @XmlJavaTypeAdapter(PropertiesMapAdapter.class) public class PropertiesMap extends HashMap { } .. package com.coderplus.jaxb; import java.util.Map.Entry; import javax.xml.bind.annotation.adapters.XmlAdapter; public class PropertiesMapAdapter extends XmlAdapter
我正在尝试使用github .我正在使用最新版本0.13.0并下载了Maven-Jaxb2-Plugin-sample-jaxbplugins-0.13.0-maven-src.zip 我成功地通过命令行运行MVN清洁安装.但是,当我将其导入Eclipse Luna时,我收到了这样的错误消息: 执行目标默认 org.jvnet.jaxb2.maven2:maven-jaxb2-plugin:0.13.0:生成失败:a 执行时缺少必需的课程 org.jvnet.jaxb2.maven2:maven-jaxb2-plugin:0.13.0:生成: com/sun/xml/bind/api/errorlistener 有趣的是,我仍然可以使用Maven工具作为Maven安装并获得生成的类.但是错误消息让我很烦.那是一些日食错误还是什么?请帮助. 这是pom.xml 的核心部分
我有一个Maven插件(JAXB2),我需要向其提供JVM arg.我认为在POM中添加JVM Args没有标签. 我知道我可以在命令行上传递JVM ARG,例如:mvn clean install -Djavax.xml.accessExternalSchema=all 是否可以在POM中设置此JVM ARG,以便我每次都不必将其输入命令行? (顺便说一句 - 为了使其与Java-8一起使用.它可以与Java-7一起使用) 解决方案 这与新的如果您使用的是我的maven-jaxb2-plugin,请升级到版本0.9.0或更高版本(当前是0.10.0).现在它拥有 accessExternalSchema accessExternalSchema accessExternalSchema accessExternalSchema accessExternalSchema 开关(默认为all). 这精确设置为javax.xml.accessExternalS
我对JAXB插件有一个大问题.我有一个项目a,其中我拥有src/main/resources/xsd/common.xsd文件.在这个项目中,我使用CXF-XJC-Plugin 生成Java类.我在src/main/resources/meta-inf下也有我的EPISOD文件,称为sun-jaxb.pisode 接下来,我有针对项目A的项目B PUBLIC "http://www.some_path" "maven:GROUP_ID_OF_PROJECT_A:ARTIFACT_ID_OF_PROJECT_A:jar::!/common.xsd" 在项目B中,我有带JAXB插件的POM文件 org.jvnet.jaxb2.maven2 maven-jaxb2-plugin
我有多个XSD模式,我想在相同文件夹target/generated-sources/xjc下将其分解为不同的软件包.我尝试了这两种配置都可以很好地使用插件,但是在Maven-Jaxb2-Plugin的情况下,Eclipse插件可以无限期地生成类(因为forceRegenerate = true),但是如果我不指定ForcereCeregerence,当我运行mvn clean package时,我的配置是否有任何问题? jaxb2-maven-plugin org.codehaus.mojo jaxb2-maven-plugin 1.6 xjc-scores xjc
在Helios/M2eclipse下,当我生成JAXB源时,当我进行"更新项目配置"时,它们将被放在Eclipse源路径上. Indigo/M2E不会发生这种情况(2011年6月22日最初发布).我需要做什么来解决这个问题? 我正在使用标准Maven-Jaxb2-Plugin,版本0.75. 解决方案 在Eclipse中转到"安装新软件"添加软件网站: http://bitstrings.github.com/m2e-connectors-p2/releases/ 选择" Jaxb2的M2E连接器" 安装了该插件后,JAXB2插件应与新版本的M2E正确集成. 此信息来自:/show_bug.cgi?id=350299 其他解决方案 好吧,您需要右键单击"目标/生成源/XJC,然后选择"构建路径 - >用作源文件夹" 之类的东西 其他解决方案 作为替代解决方法,如果您无法使M2E连接器正常工作,则可以使用build-helper-mave
从XSD生成Java类时,如何为某些特定节点指定,应该使用特定且已经存在的Java类,而不是尝试生成一个? 非常感谢. 解决方案 您可以使用episode文件来引用现有类. .episode文件只是jaxb绑定文件,并在元素和Java类之间进行映射. a)如果也从(另一个)XSD生成了这些现有类.使用以下选项首先创建.pepisode文件. xjc -episode a.episode a.xsd 然后使用此a.episode包含映射作为下一个xjc一代的输入. xjc b.xsd -extension -b a.episode b)如果要引用一些随机类,那么您可能必须编写自己的情节文件,以提供element和class reference之间的映射. sample.episode