问题标签 [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.
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 说的不同
java - 我可以更改 typesafeEnumMemberName 生成的 bij cxf-xjc-plugin 吗?
我正在使用来自 xsd 的 org.apache.cxf:cxf-xjc-plugin 生成 java 类文件。我正在使用全局绑定typesafeEnumMemberName="generateName"
,因此当插件无法为枚举成员创建有效的 Java 标识符时,插件会为枚举类生成成员名称。
我的问题是:
有没有办法改变这些类型安全枚举成员名称的生成方式?
例如,更改它以包含值?这样,成员就代表了值,而不仅仅是一个递增的数字。
附加信息:
我拥有的 xsd 指定了以下 simpleType:
这导致以下类:
java - 使用 fractionDigits 对 BigDecimal 进行 JAXB 编组
所以这是我的问题。我得到了一个 XSD,我生成的 XML 文件应该遵守该 XSD。我使用org.apache.cxf.cxf-xjc-plugin
maven 插件和外部绑定文件生成源代码。但是当我尝试编组我的对象时,生成的 XML 不符合我的要求。
我的 XSD 包含以下内容:
生成的 XML 片段如下所示:
虽然我期待它是:
有没有办法以干净的方式解决这个问题?
我宁愿不要为每个单独totalDigits
的fractionDigits
组合编写多个适配器。由于 XSD 可能会发生变化,我想保持生成的源代码不变。
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 方法吗?提前感谢您的帮助。
java - 如何在同一个 ObjectFactory 中生成多个 .xsd?
我需要一个包含来自多个模式的多个 java 对象的 ObjectFactory。我对几个不同的插件和这些插件的变体有 0 运气。目前我正在使用以下内容:
使用这个插件和许多其他插件,我只能生成一个仅包含列表中最后一个模式的 ObjectFactory。以前的 xsd 都没有在 OF 中作为 java 对象。谁能帮我解决这个问题?
谢谢!
jaxb - XJC 编译 - 两个模式中的根元素相同
我有两个具有相同根元素名称的 xsd 文件。理想情况下,最好在这两个 xsd 文件中有两个唯一名称。
面临的问题:
如果我希望 JAXB 创建具有唯一标识的类,我们如何通过外部绑定来实现?
谁能帮我?
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()
jaxb - SimpleType - 聚合或抽象
我面临一个奇怪的问题。我应该为 Web 服务使用许多第三方 XSD。我选择的框架是 Apache CXF,我使用它的 Maven 插件生成代码。到目前为止一切顺利,一切正常,生成和 Web 服务本身都没有问题。
但是,由于 XSD 的作者很奇怪,我自己也无法更改,所以我面临一个问题:他们使用了很多基本上重复的 SimpleType 定义。他们都有自己的名字,但做同样的事情。
例子:
还有更多(数字、字符串定义等)。
那么问题来了,是否有可能通过 jaxb-plugin 或类似的方式将这些 SimpleType 聚合为一个,或者至少生成一个抽象类结构,从而减少不相关的重复代码的数量?
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”开关来启用此插件。
有人可以建议如何解决这个问题吗?
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)?