问题标签 [jaxb2-maven-plugin]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
maven - jaxb2-maven-plugin 在 maxOccurs 大于 5000 时抛出异常
当我在旧版 xsd 上运行 jaxb2-maven-plugin 时,它会抛出此异常:
解析器的当前配置不允许将 maxOccurs 属性值设置为大于值 5,000
谷歌搜索此错误表明这是出于安全目的对 jaxp 施加的限制。可以在这样的代码中禁用它
但我需要在 Maven 中执行此操作。此外,xjc 有一个 -nv 开关来关闭此验证,这看起来像是要走的路。我无法更改 xsd。
在 jaxb2-maven-plugin 中传递 -nv 开关的语法是什么?
java - Integration of jaxb2-maven-plugin with JUnit4
I am trying to execute a simple JUnit test in order to marshall/unmarshall some data.
Here is the definition of the 'data' :
The application works fine (I can marshall/unmarshall this object as XML)
But when I execute the test, I have the following error (the code in the test is exactly the same as it is in the application):
I can't understand why the application works but not the test. I guess there is something about the plugin scope defined in maven. Here is my pom.xml :
java - 复杂类型的 JAXB 绑定到新的类名
我正在尝试通过 maven-jaxb2-plugin 将以下内容映射到新的类名。
我有这个元素存在于项目的两个 XSD 中(不同的命名空间)。
我想将此实例映射到不同的类名以便编译。
我拥有的 bindings.xjb 是...
我得到的错误是这个......
如果我从 ResponseCommonData 中删除内部元素 BusinessError,则 JAXB 将继续进行,但会给我一个关于另一个复杂类型类的类似消息。
maven - 是否有从 pom.xml 中设置 -D 参数的通用方法?
tl;dr:那么,有没有办法移动-D
系统属性的定义并将其内部化到pom.xml
文件中?
我们目前正在-Djavax.xml.accessExternalSchema=all
从命令行传递mvn clean install -Djavax.xml.accessExternalSchema=all
以使我的构建工作。我无法通过插件(jaxb2-maven-plugin 1.6)中的选项,因为我们使用的版本不支持此功能,并且需要完全更改配置的版本,我们不会获得批准。
尝试通过在标签下添加来设置在<properties>
其他地方建议<project>
的使用标签的值:
但我仍然得到一个错误(在下面转载),而通过命令行传递它却没有。
jaxb2-maven-plugin - jaxb2 简化 xs 插件:选择具有相同类型
我正在尝试使用 jaxb2 基础简化插件来将我的模式转换为 JAXB。它适用于像下面这样的复杂类型。每个元素在内部定义xs:choice
有不同的类型(type1
和type2
)。
sample.xsd(具有不同类型的复杂选择类型)
但是如果复杂类型包含多个相同类型的元素(xs:string
),如下所示,那么 maven install 会抛出错误。
sample.xsd(具有相同类型的复杂选择类型)
如果我有多个元素的相同类型, jaxb2 简化是否不起作用?
xml - 使用 SchemaGen 生成 xsd 时如何使用 jaxb2-maven-plugin 设置模式版本?
这是我的插件:
这是根元素:
当我运行 maven 时,它会生成这个 xsd:
它工作得很好,但现在我想设置模式的版本:
我怎样才能做到这一点?
java - jaxb2-maven-plugin 在控制台上报告问题
我有一个基于 maven 的构建脚本,它运行 jaxb2-maven-plugin (schemagen) 以从 Java 类生成 XSD。我做错了什么,它不会生成它。
该项目非常复杂,很难在控制台中重新创建确切的命令行。
在我的 .pom 文件中,我只有
我可以使用哪些选项来命令 schemagen / plugin 来显示控制台上的错误原因是什么?
java - JAXB2 无法从具有重复类型的两个 WSDL 生成源
我正在尝试使用 JAXB2 2.2 从 WSDL 文件生成源。WSDL 文件来自第三方,除了特定于该 WSDL 的类型之外,它们都定义了相同的通用类型。如果我在源文件夹中只有一个 WSDL(我们称之为 A.wsdl),那么一切正常,生成的源代码如下所示:
A.java
X.java
Y.java
如果我清除输出目录并仅使用 B.wsdl 生成,我会得到
B.java
X.java
Y.java
我希望能够将两个 WSDL 都放在源代码中并获得
A.java
B.java
X.java
Y.java
我不在乎 wsdl X 和 Y 来自哪个,它们对所有这些都是相同的。目前,JAXB2 抛出org.xml.sax.SAXParseException: 'X' is already defined
并没有生成任何内容。我浏览了帮助输出,但没有找到任何似乎有帮助的配置选项。
java - 使用具有重复类条目的多个 xsd 模式生成类
我有多个 xsd 架构文件,其中包含多个/常见重复 xs:element / class 条目。我尝试使用 pom.xml 中的以下行将它们转换为类
在仅使用一个execution
标签运行时,我成功获得了课程。但是当我包含两个或两个以上的模式或execution
标签时,我只能看到为最后一个模式“schema2”创建的类,而不是为“schema1”创建的类。
在命令行日志中运行时,我可以看到两个模式都生成了类。但结果是删除旧包并重新创建它。基本上我只有最后一个模式的类,而不是其他模式的类。
我该如何解决?
java - JAXB schemagen 不引用剧集文件中的类
我实际上使用的是模式优先方法,但是我遇到了“不祥的” JAXB Map 问题!并通过切换到代码优先的方法来解决这个问题。现在我想在其他模块中重用这种类型,并通过从生成的模式创建一个剧集文件来继续我的模式优先方法。不幸的是,生成的剧集文件是空的。这是我尝试过的:
这为我生成了以下架构:
以及包含此内容的剧集文件:
我尝试单独使用 schemagen(版本 2.2.11),结果相似。https://jaxb.java.net/2.2.4/docs/schemagen.html和http://www.mojohaus.org/jaxb2-maven-plugin/Documentation/v2.2/schemagen-mojo.html上的文档接缝表明这应该是它,但我无法弄清楚我做错了什么。