问题标签 [schemagen]
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.
java - 从 build.xml 调用时 linux 中的 jaxb schemagen 问题。找不到源文件?
以下是详细信息:这在 Windows 上运行良好,但在 Linux 上无法运行,我需要它才能在 Linux 机器上运行。
schemagen -version 在 Windows 和 Linux 上给出相同的结果。
schemagen 版本“JDK 6 中的 JAXB 2.1.10”用于 XML 绑定 (JAXB) 参考实现的 JavaTM 架构,(在 JDK 6 中构建 JAXB 2.1.10)
这是有问题的蚂蚁代码:
<target name="genSchema" description="Generate Schema from Java source files">
<exec executable="schemagen">
<arg line="-d ../target/schema ../path/to/source/*.java" />
</exec>
</target>
首先,这一切在 Windows 中都可以正常工作。在 Linux 中,如果我从命令行运行以下命令,生成模式没有问题:
schemagen -d ../target/schema ../path/to/source/*.java
注意:写../target/schema/schema1.xsd
但是,如果我在 Linux 中从上面的 build.xml 运行 ant 目标,则会收到以下错误:
[exec] 错误:无法读取:../path/to/source/*.java [exec] 1 错误 [exec] 结果:1
在 Windows 中,完全相同的 ant 目标可以正常工作。请帮忙!把我的头发拉出来。如果您需要更多详细信息,请告诉我。
对于它的价值,我还尝试使用绝对路径而不是备份目录来访问我的 ant 任务中的源文件......尝试使用 ant 执行此操作时仍然遇到相同的错误。
Ex. <arg line="-d ../target/schema /home/path/to/source/*.java" />
[exec] error: cannot read: /home/path/to/source/*.java
java - 使用 jaxb2-maven-plugin 运行 schemagen 时,我可以包含来自多个项目的 java 源吗?
我有一个多模块 maven 项目,我需要从 JaxB 注释类构建 XML 模式。这些类位于不同的 Maven 项目中。我可以使用 jaxb2-maven-plugin 通过指向所有项目的源来生成单个模式吗?或许像这样...
或者我是否需要为每个项目单独创建一个模式,然后将它们导入到父模式中?
我正在使用 maven 2.2.1 和 jaxb2-maven-plugin 1.3。
maven - Mojo schemagen maven 插件错误地生成类
大家早上好,我正在尝试在我的应用程序中使用 mojo jaxb2 maven 插件,但是只要正确创建了模式,它就会在同一个文件夹中生成整个类(作为 .class)。我会说由于某种原因,maven/compiler 在 /schemas/ 文件夹中创建了输出类。关键是我只想输出将在其他项目中使用的 *.xsd 文件。这是我的 pom 的摘录:
java - 定义命名空间时,使用 Maven 创建的模式验证 XML 失败
定义命名空间时,使用 Maven 创建的架构验证 XML 失败,但只要我不配置命名空间,就可以对架构进行验证。
如果我定义命名空间,添加一个 uri 并将命名空间添加到所有带有 jaxb 注释的 java 类中,则会创建两个 XSD 文件而不是一个,并且验证失败并显示:
将两个 xsd 文件复制到类路径后,我得到了
在使用 maven 创建命名空间-XSD 时,我收到此警告,我无法修复,可能错误与此有关。
我还可以提供 xml 和 xsd 文件。但是随着 XML 和单个非命名空间 XSD 的验证,错误必须位于 JAXB 注释中的某个位置。
问题
- 为什么在定义命名空间时会创建两个 XSD 文件?
- 我必须考虑对带有 JAXB 注释的类进行注释。
- (既然建议使用
javac
因为schemagen
以后将不再支持。您对此有什么意见吗?)
附加信息
我org.codehaus.mojo:jaxb2-maven-plugin
在版本中使用1.5
。
我有某种类层次结构,甚至使用 XmlAdapter 来编组包含在某些XmlRootelement
s 中的映射。一些父类共享相同的子元素。XmlRootelement
我最初的计划是在其对应的目录中为每个自动创建一个独立的方案。
如果需要更多信息,我可以提供。
java - schemagen:如何共享类,而不是它们的命名空间?
我有两个顶级课程,它们按组成共享第三个课程。例子:
这些类中的每一个都分配给不同编译单元(模块)中的不同包。现在,当我在每个顶级类上使用 schemagen 时,我希望 Shared 类具有与顶级类相同的名称空间。所以 Foo 的输出应该是这样的:
但是,它不是这样工作的。相反,Shared 类具有默认命名空间,因此我得到两个模式文件,一个用于 Foo 的命名空间,一个用于 Shared 的命名空间。
有没有办法解决这个问题而没有明显的解决方案来复制 Shared 类,从而不再共享它?
jaxb - JAXB - XJC 设置不生成映射到键值对转换位直接绑定列表
是否有可能强制 XJC 不生成 Map 到 Key-Value 对列表的转换?
当我参加 Jaxb 带注释的课程时
并通过 schemagen 生成模式,我将得到以下 xsd 模式:
当我通过 xjc 生成带有指定绑定的 jaxb 注释类时:
我会回来的:
那不是我真正想要的。有没有办法获得我的“原始”输入?
java - 为 jar 中的类文件生成 jaxb Xsd 模式
我想从 jar 中的类文件生成 jaxb xsd 模式。目前,我正在使用 jaxb2-maven-plugin 使用 java 文件生成模式。
但是,我有一个用例,我正在获取一个依赖项 jar 文件,并希望从该 jar 文件中生成一些类。任何人都可以建议如何做到这一点。
java - schemagen gradle 构建错误
我正在尝试将现有的 Maven 项目迁移到 gradle build。在我jaxb2-maven-plugin
用来生成 xsd(schemagen)/classes(xjc) 的 maven 项目中。我想在 gradle 中获得相同的功能。我有几个带有 jaxb 注释的类,但有些不是,所以我如何排除不需要的文件。当我执行以下操作时,我会收到错误。
错误:
构建.gradle
图书.java
人.java
先感谢您。
java - Jena schemagen in maven processing multiple ontologies
I am working on a project which uses multiple ontologies defined over several files. I am hoping to use Jena to generate the java classes to help with development but I can't seem to find a way to have Jena process multiple files as a maven goal.
I have never used Jena through maven before but I have used it on the command line (never for multiple ontologies at the same time).
The relevant part of my pom.xml is listed below (this was largely copied from the Jena website):
I have had a good look around on the Jena website and other sites (my googlefoo is usually quite good) but I have been unable to find anyone else having this problem or any documentation explaining how to do this. Any help on this would be very useful.
java - JAXB Schemagen (v. 7.0.450.18):更改 XmlElement 名称和 XmlType(propOrder={...})
我在使用 schemagen 自动生成 XSD 文件时有点挣扎。首先,我必须告诉我,我正在为大学的一个项目工作,并且不能更改我的 java 类代码中的任何内容,但注释...
所以,基本上我要做的就是重命名我的一些 XmlElements 并且必须将它们带入特定的顺序。我想,我可以这样解决:
XmlAccessorType 的默认值为@XmlAccessorType(XmlAccessType.PUBLIC_MEMBER)
. 但是,当我尝试使用 schemagen(在 Eclipse 和命令行中)生成 XML Schema 时,出现以下错误:
和
所以,对我来说,这听起来有点矛盾,因为似乎 schemagen 完全忽略了我指定的内容......谁能告诉我问题出在哪里?
非常感谢!