问题标签 [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 投票
2 回答
17830 浏览

jaxb - JAXB 无法为 XBRL 生成 Java 类

我正在尝试为 XBRL 中定义的类型生成 Java 类。

我的构建过程基于 Maven 2,这是我的试验。我只粘贴build依赖于一些属性的部分:

package是我的目标包的名称

catalog是目录的路径和文件名。因为我没有互联网连接,我有很多条目,但我认为这些总是必要的

xsd.path是 XSD 所在的目录

xsd.file是以下极简XSD的文件名

我尝试过的所有插件都无法导入xl:nonEmptyURI

但是xl映射到http://www.xbrl.org/2003/XLink(在我的目录中)哪个导入 <import namespace="http://www.w3.org/1999/xlink" schemaLocation="xlink-2003-12-31.xsd"/>定义 nonEmptyURI

怎么了?我该如何解决?

阿帕奇 CXF

失败

jvnet maven-jaxb2-插件

错误是一样的,稍微详细一点

Mojo jaxb2-maven-plugin

同样的错误,Xerces 说的不同

0 投票
1 回答
1134 浏览

java - 我可以更改 typesafeEnumMemberName 生成的 bij cxf-xjc-plugin 吗?

我正在使用来自 xsd 的 org.apache.cxf:cxf-xjc-plugin 生成 java 类文件。我正在使用全局绑定typesafeEnumMemberName="generateName",因此当插件无法为枚举成员创建有效的 Java 标识符时,插件会为枚举类生成成员名称。

我的问题是:
有没有办法改变这些类型安全枚举成员名称的生成方式?
例如,更改它以包含值?这样,成员就代表了值,而不仅仅是一个递增的数字。


附加信息:
我拥有的 xsd 指定了以下 simpleType:

这导致以下类:

0 投票
4 回答
9105 浏览

java - 使用 fractionDigits 对 BigDecimal 进行 JAXB 编组

所以这是我的问题。我得到了一个 XSD,我生成的 XML 文件应该遵守该 XSD。我使用org.apache.cxf.cxf-xjc-pluginmaven 插件和外部绑定文件生成源代码。但是当我尝试编组我的对象时,生成的 XML 不符合我的要求。

我的 XSD 包含以下内容:

生成的 XML 片段如下所示:

虽然我期待它是:

有没有办法以干净的方式解决这个问题?

我宁愿不要为每个单独totalDigitsfractionDigits组合编写多个适配器。由于 XSD 可能会发生变化,我想保持生成的源代码不变。

0 投票
3 回答
7190 浏览

java - 如何使用 CXF xjcplugin 生成 equals 和 hashCode

我正在尝试从 XSD 文件生成包含方法 toString、equals 和 hashCode 的 Java 类。我得到了 toString 工作,但我无法弄清楚如何让 CXF 插件生成 equals 和 hashCode 方法。

这是我的 XSD 文件:

我的工作POM(什么不起作用被注释掉):

绑定文件:

如果我取消注释 Xequals 的注释行,我会收到此错误:

[错误] 无法在项目 xsd-demo 上执行目标 org.apache.cxf:cxf-xjc-plugin:2.6.1:xsdtojava (generate-sources):无法下载扩展工件:请求的下载不存在。在中央找不到工件 org.apache.cxf.xjcplugins:cxf-xjc-Xequals:jar:2.6.1 ( http://repo1.maven.org/maven2 )

好吧,我意识到工件不存在,但我不知道如何配置 CXF 插件以生成 equals 和 hashCode 方法。你知道我如何配置 CXF 插件来生成 equals 和 hashCode 方法吗?提前感谢您的帮助。

0 投票
2 回答
3630 浏览

java - 如何在同一个 ObjectFactory 中生成多个 .xsd?

我需要一个包含来自多个模式的多个 java 对象的 ObjectFactory。我对几个不同的插件和这些插件的变体有 0 运气。目前我正在使用以下内容:

使用这个插件和许多其他插件,我只能生成一个仅包含列表中最后一个模式的 ObjectFactory。以前的 xsd 都没有在 OF 中作为 java 对象。谁能帮我解决这个问题?

谢谢!

0 投票
0 回答
342 浏览

jaxb - XJC 编译 - 两个模式中的根元素相同

我有两个具有相同根元素名称的 xsd 文件。理想情况下,最好在这两个 xsd 文件中有两个唯一名称。

面临的问题:

如果我希望 JAXB 创建具有唯一标识的类,我们如何通过外部绑定来实现?

谁能帮我?

0 投票
1 回答
846 浏览

java - 使用 equals() 和 hashCode() 方法从 DTD 生成 Java 类

我已经习惯了从命令行使用 XJC 工具。但我意识到我无法使用它生成 Java 类equals()hashCode()方法。我用这个:

我不知道如何生成方法。我的版本是:

1. 是否可以使用 XJC 工具从 DTD 文件生成equals()和方法?hashCode()

此外,我知道我可以使用 Maven 插件来实现这种目标。我对CXF XJC Maven 插件非常满意。如果我能用这个 Maven 插件做同样的工作,我会很高兴。

1. 是否可以使用 CXF XJC Maven 插件从 DTD 文件生成equals()和方法?hashCode()

0 投票
0 回答
71 浏览

jaxb - SimpleType - 聚合或抽象

我面临一个奇怪的问题。我应该为 Web 服务使用许多第三方 XSD。我选择的框架是 Apache CXF,我使用它的 Maven 插件生成代码。到目前为止一切顺利,一切正常,生成和 Web 服务本身都没有问题。

但是,由于 XSD 的作者很奇怪,我自己也无法更改,所以我面临一个问题:他们使用了很多基本上重复的 SimpleType 定义。他们都有自己的名字,但做同样的事情。

例子:

还有更多(数字、字符串定义等)。

那么问题来了,是否有可能通过 jaxb-plugin 或类似的方式将这些 SimpleType 聚合为一个,或者至少生成一个抽象类结构,从而减少不相关的重复代码的数量?

0 投票
0 回答
1859 浏览

web-services - 使用带有“cxf-codegen-plugin”的注释插件(Annox)的问题

我正在我的应用程序中开发 RESTFul 服务。我们正在使用“ cxf-codegen-plugin ”从模式中生成 JAXB 类。对于给定的要求,我需要向生成的 JAXB 类添加一些注释,并且我试图为此使用Annotate Plugin(Annox)但在使用它时遇到问题。我收到org.xml.sax.SAXParseException:使用“ http://annox.dev.java.net ”自定义需要“-Xannotate”开关来启用此插件。

这就是我在我的代码库中进行设置的方式: 1. WSDL 指的是一个 XSD,其中我有注释的定义。2. pom.xml 使用'cxf-codegen-plugin' 来生成jabx 类。3. RESTFul 服务需要对生成的类进行一些额外的注释,所以我尝试使用 Annox 来完成工作。

这是来自 XSD 的片段:

这就是我希望我生成的类的样子:

以下是 pom.xml 中的条目:

我还注意到,如果我在JsonTypeInfo部分下的 xsd 中提供了一些错误的值/配置,则构建失败并抱怨(例如缺少必填字段“use”等)——所以我假设 Annox 插件已启用并正在尝试做某事。但是当我使用上述配置时,构建失败并出现 SAXParseException:使用“ http://annox.dev.java.net ”自定义需要“-Xannotate”开关来启用此插件。

有人可以建议如何解决这个问题吗?

0 投票
3 回答
3270 浏览

maven - 在 Maven 构建期间关闭或配置 java.util.Logging

我想清理/统一 Maven 构建的日志输出。不幸的是,maven 插件的依赖项使用 java.util.Logging ( JUL )。简单地添加org.slf4j:jul-to-slf4j作为附加依赖项来重定向日志输出并没有帮助。当然,排除也不起作用,因为它是 JUL,因此不是依赖项。这是我的配置,包含特定插件及其依赖项:

配置

更新

我已经通过将包含以下内容的 logging.properties 文件添加到项目的根文件夹来设法关闭/配置 JUL 本身:

此外,我必须使用以下参数执行 Maven(或将其设置为MAVEN_OPTS):

剩下的问题

有没有什么方法可以在没有额外文件和/或 JVM 参数的情况下获得相同的结果(仅限 pom.xml)?