问题标签 [cxf-xjc-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.

0 投票
1 回答
814 浏览

java - 生成带有内置 XSD 限制的 Java 类

在一个大型集成项目上工作,我们也在对我们来回集成的一些数据进行验证。

我们使用 CXF-XJC-plugin 从 XSD 和 WSDL 文件生成 java 类。非常希望将限制添加为生成类的一部分,而不是使用普通的 POJO 类。

一个例子是:

目前创建为:

基本的 setter 和 getter 以及花哨的 fluent api,但没有任何关于 12 个字符的限制逻辑

任何人都会知道如何生成内置限制?

0 投票
1 回答
1814 浏览

java - cxf-xjc 插件“必须指定 xsdOptions”错误

我正在使用 cxf-xjc 插件来生成 Java 类。这是成功生成 Java 类的 xjc 命令。

xjc -d C:\Users\abc\devEnv\VcloudJavaClasses -catalog C:\Users\abc\devEnv\schema-files\schemas\external\catalog.xml -b C:\Users\abc\devEnv\schema-files\ 1.5\schemas\vcloud\vcloud.xjb -b C:\Users\abc\devEnv\schema-files\1.5\schemas\vcloud\ovf.xjb -b C:\Users\abc\devEnv\schema-files\1.5\ schemas\extension\vmwextensions.xjb C:\Users\abc\devEnv\schema-files\1.5\schemas\master\master.xsd C:\Users\abc\devEnv\schema-files\1.5\schemas\extension\vmwextensions。 xsd -nv

我正在尝试将此 xjc 命令映射到 cxf-xjc 插件。

但我收到以下错误。

[错误] 无法在项目 vcloud-training 上执行目标 org.apache.cxf:cxf-xjc-plugin:2.3.0:xsdtojava (default-cli):必须指定 xsdOptions -> [帮助 1]

这是关于插件的pom部分。

配置有什么问题,所以我收到此错误?

0 投票
0 回答
1452 浏览

xsd - 由于 ObjectFactory 类中的冲突,cxf-xjc-plugin 未生成 java 类

由于以下错误,我没有使用cxf-xjc maven 插件为 Java生成任何类:

[错误]两个声明导致 ObjectFactory 类中的冲突。文件第 21 行 :/C:/../IdeaProjects/CXFDocInstanceGenerator/XSDToClassGenerator/src/main/resources/IntegralAdmission_bis.xsd

生成涉及到3个xsd

  • PExGeneraReport_bis.xsd(使用下面的其他两个)
  • PartialAdmission_bis.xsd
  • IntegralAdmission_bis.xsd

最后两个 xsd 在以下元素上产生冲突:

包含在两个 xsd 中(PartialAdmission_bis.xsd 和 IntegralAdmission_bis.xsd

我使用了以下最后一个外部绑定条件:解决问题(连同许多其他尝试)但没有成功!

除了 factoryMethod 名称之外,我还使用jxb:class 和 jxb:elementName没有成功。没有生成类

在一个 xsd 设置中更改元素名称:

xs:元素名称= “模IA ”类型=“模”

解决了这个问题,但我需要维护“模”作为编组的 xml 元素的名称,所以我只需要更改与 java 类或方法名称的绑定!关于设置正确绑定以解决问题的任何想法?

正如@lexicore 在评论中所问的那样,我在下文中报告了该项目的 [mcve]:pom.xml:

绑定PExGeneraReport_bis.xsd的主要 xsd :

  • 第一个导入的 xsd IntegralAdmission_bis.xsd

第二个与上面的 xsd (IntegralAdmission_bis.xsd) PartialAdmission_bis.xsd 冲突

绑定文件:

项目目录:

在此处输入图像描述

0 投票
1 回答
2173 浏览

java - 如何使用 Spring-Boot 运行 cxf-xjc-plugin?

我正在尝试设置一个应该xsdtojava使用生成的简单项目cxf-xjc-plugin。该项目还使用spring-boot.

结果期间mvn package

这很奇怪,因为在类路径上我可以清楚地看到XSDToJavaRunner.class.

我的 java 项目目录是: javaExecutable = /usr/lib/jvm/java-11-openjdk-amd64/bin/java, 和

java -version显示:OpenJDK 64-Bit Server VM (build 10.0.2+13-Ubuntu-1ubuntu0.18.04.3, mixed mode)

我尝试将cxf-xjc-plugin, 几个jaxb-*<dependency>按如下方式扔到 maven 节点中,但错误仍然存​​在。我在这里想念什么?

0 投票
1 回答
10203 浏览

maven - 如何使用 Java 11 和 maven 运行 XJC?

为了从 XSD 生成 java 类(用于读取 XML 文件),我们使用了 jaxb2-maven-plugin 和 Java8。

对于 java 11,我们遇到了很多问题......

哪些库和插件可以工作(今天),允许使用 java 11 和 maven 从 XSD 生成 java 代码?如果可能,请指出不同的解决方案,例如使用 cxf-xjc-plugin、jaxb2-Maven-Plugin 等。

0 投票
1 回答
591 浏览

java - 生成源时的 MojoExecutionException cxf-xjc-plugin:3.3.0 java11

我尝试使用 cxf-xjc-plugin 在 maven 项目中从 xsd 生成 java 类。但是当我尝试生成源时,我有一个错误。

我尝试使用另一个版本的插件:3.2.3,但没有帮助。


0 投票
1 回答
2739 浏览

java - 为什么使用 cxf-xjc-plugin 从 xsd 生成代码(java)在 jdk 11(亚马逊)上不起作用,但在 java 8 上起作用

我将一个项目从 迁移Java 8Java 11,在生成代码时遇到了一些XSD麻烦cxf-xjc-plugin.

即使我确实升级cxf-xjc-plugin到版本3.3.0,在构建项目时仍然会出现异常

我的pom.xml

堆栈跟踪

0 投票
1 回答
661 浏览

java - 如何使用 Java 11 中的 cxf-xjc-plugin 生成的类?

使用带有 Java 11 的 Apache cxf-xjc-plugin 工作正常,我能够从 xsd 文件生成 Java 源代码。尝试通过 JAXB 使用这些 Java 类时会出现问题:Java 11 的 JAXB 的可用实现是org.glassfish.jaxb:jaxb-runtimeorg.eclipse.persistence:org.eclipse.persistence.moxy,它们都将包中的所有类移动javax.xml.bindjakarta.xml.bind. 这是一个问题,因为 cxf-xjc-plugin 生成的 Java 类是使用 package 中的注释进行注释的javax.xml.bind

我认为有两种可能的解决方案:

  • 是否有使用原始javax.xml.bind包的 JAXB(用于 Java 11)的实现?
  • 有没有办法配置 cxf-xjc-pluginjakarta.xml.bind为生成的类注释使用包?
0 投票
1 回答
54 浏览

java - java模块化和cxf-xjc-plugin从xsd文件生成包

我有一个模块

--

--

接着my.other.module

--

--

我明白了

package cxf.generated.package.no.one is not visible

在编译代码时。我做错了什么?如何解决这个问题?

附加信息

0 投票
0 回答
100 浏览

java - jaxb 绑定 name 属性的自定义值

我想在不更改 xsd 和源文件的情况下自定义元素名称。我期望生成的源应该在 @XmlElement 注释中添加名称属性,这样当我从 java 编组到 xml 时,我会看到自定义的元素名称。源应生成如下所示的自定义元素名称。

我可以使用 jaxb 绑定来控制元素名称吗?下面的 jaxb 绑定仅有助于更改默认生成的属性,而不是元素名称。

好心提醒。谢谢你的时间。

注意:我使用 cxf-xjc-plugin 来生成源代码。