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

0 投票
1 回答
893 浏览

java - JAXB JXC 为枚举生成模式,而不考虑 @XmlTransient

使用 JXC 模式生成 ant 任务,我似乎无法让它忽略枚举。我有几个枚举在内部用于表示与生成的 XML 无关的类型或次要配置值。

我可以使用枚举作为@XmlTransient 排除该字段以将其从对象的架构中排除,但仍会为枚举生成一个 simpleType 描述符!

例子:

生成的架构:

有人对如何让 JXC 忽略枚举有任何想法吗?它没有被任何 XML 映射属性或字段使用,并且枚举本身被标记为 @XmlTransient - 为什么它仍然是我的架构的一部分?

0 投票
3 回答
8477 浏览

java - 是否可以让 maven-jaxb-schemagen-plugin 与 Java 7 一起使用?

当我尝试使用maven-jaxb-schemagen-pluginjava 7

我收到一个错误:

似乎AnnotationProcessorFactory在 Java 7 中被删除/弃用了?是否可以使用此插件使 jaxb schemagen 工作?使用 JDK 7 时,是否有另一种方法可以从 JAXB 源代码生成模式?

0 投票
2 回答
2225 浏览

command-line - 从命令行/类路径设置执行 Schemagen (Jena)

我正在学习 Jena API,我想使用 Schemagen 为我自己的词汇创建类似于 com.hp.hpl.jena.vocabulary 包中的类;

我在http://www.apache.org/dist/incubator/jena/apache-jena-2.7.0-incubating/下载了 Jena 。下载后,我将其解压缩并保持原样。

C:\Users\moi\NetBeansProjects\apache-jena-2.7.0-incubating\apache-jena-2.7.0-incubating 是包含 bat 文件夹、bin 文件夹、javadoc-arq 文件夹等的文件夹。

我在我的一个项目中使用 C:\Users\moi\NetBeansProjects\apache-jena-2.7.0-incubating\apache-jena-2.7.0-incubating\lib 中的所有库和一个相对链接测试了 Jena,它作品。

为了便于在命令行中使用,我将文件“MyKnowledgeBase.rdf”移到了 lib 文件夹中。

我从 lib 文件夹中尝试过

得到这个

所以我尝试设置类路径:

但我仍然有同样的错误。我也试过

当我做

我得到了我输入的内容

我尝试将 set CLASSPATH 与每个 jar 的绝对路径一起使用,但它也不起作用。

所以现在我不知道该怎么办。

在 Jena,我在 jena-core-2.7.0-incubating.jar 包“jena”中找到了 schemagen.class(使用 netbeans)

使用资源管理器我没有找到类文件。

我已经在命令行中运行了几个项目,执行 java -jar 所以 java 和命令行都可以

谢谢您的帮助

编辑:我删除了参数 -classpath 和 %CLASSPATH% 之间的空格,我得到了不同的东西 \o/ 仍然不起作用,但它正在进行中!

“无法识别的选项”和“无法创建 java 虚拟机”

Edit2:由于我无法解决这个问题,我用 netbeans 创建了一个新项目。我创建了 schemagen 类的副本,将其作为主类,将所有 jar 作为库包含在内。接着 :

0 投票
1 回答
445 浏览

java - 如何记录最后合同(通过 jaxb schemagen)网络服务?

我开发了一个网络服务,我的用户理所当然地希望看到文档。我更喜欢简单地记录我的代码,使用 javadoc 注释或显式注释,例如

或者

不支持上述内容,如下所示:

  • JAXB-273 - 2006 请求从注释中生成 xs:documentation 元素
  • JAXB-369 - 2007 请求从评论中制作 xs:documentation 元素
  • SO-470001 - “你不能那样做”stackoverflow 问题

所以我知道我不能使用上述内容来评论我的服务。但是......当然还有一种方法可以以非手动方式进行。我必须为此手工制作所有的 XML 吗?如果就是答案,为什么没有更多地关注将这个特性引入 JAXB 呢?对于企业级 Web 服务来说,这似乎是完全强制性的,对吧?

0 投票
1 回答
1318 浏览

xsd - 带有枚举的 JAXB SchemaGen 在不同的包中

如何从引用不同包中的枚举的 JAXB 对象生成模式?

下面是一个例子:

枚举类

JAXB 类

包信息.java

蚂蚁目标

当我运行上面的示例时,我得到以下信息:

[schemagen] 异常的package-info.java 路径:package-info.java [schemagen] 从7个源文件生成schema [schemagen] 注解处理时遇到的问题;[schemagen] 请参阅下面的堆栈跟踪以获取更多信息。[schemagen] java.lang.NullPointerException [schemagen] at com.sun.tools.jxc.model.nav.APTNavigator$2.onDeclaredType(APTNavigator.java:428) [schemagen] at com.sun.tools.jxc.model.nav .APTNavigator$2.onClassType(APTNavigator.java:402) [schemagen] 在 com.sun.tools.jxc.model.nav.APTNavigator$2.onClassType(APTNavigator.java:456) [schemagen] 在 com.sun.istack.tools .APTTypeVisitor.apply(APTTypeVisitor.java:27) [schemagen] 在 com.sun.tools.jxc.model.nav.APTNavigator.getBaseClass(APTNavigator.java:109) [schemagen] 在 com.sun.tools.jxc.model .nav.APTNavigator.getBaseClass(APTNavigator.

我知道是枚举导致了错误,因为如果我切换到字符串,它就会消失。如何使用上面的示例生成模式,其中枚举位于相同的命名空间或不同的命名空间中?

0 投票
1 回答
549 浏览

xsd - schemagen.exe 生成具有不确定顺序的 xsd 架构

我使用 org.codehaus.mojo jaxb2-maven-plugin 为我的类生成 xsd 模式。插件站点 http://mojo.codehaus.org/jaxb2-maven-plugin/faq.html告诉我们,该插件使用 JDK 实用程序 schemagen.exe 进行生成。 问题是生成的 xsd 中的顺序不确定,并且取决于您运行插件的机器。

并生成方案:

但是当我的同事运行生成时,他得到了另一个命令:

我们用

  • JDK 1.6.0_26
  • jaxb2-maven-插件 1.3
  • jaxb-impl 版本 2.1.12(由插件使用)

有没有办法控制这个顺序?

0 投票
0 回答
375 浏览

class - 忽略 jaxb schemagen 生成的类

我有两组课程。AI 组中的人想使用 schemagen 生成 XML 模式,而 BI 组中的人只是想忽略模式生成。我怎样才能做到这一点?我只注释了 groupA jaxb 相关的类。当尝试生成模式时,我得到组 B 的类的“没有无参数默认构造函数”。

0 投票
1 回答
2017 浏览

xsd - 使用 schemagen 时 xmlns:tns 来自哪里

我们正在使用schemagen从一些带注释的 POJO 创建 XSD。

这是我们的蚂蚁目标

这正在生成

tns 命名空间来自哪里,它意味着什么?

0 投票
1 回答
1081 浏览

nullpointerexception - schemagen NullpointerException

Java类:

  • JDK版本:1.6.0_31
  • 异常堆栈跟踪schemagen User.java

    任何人都可以在这里帮助我吗?

0 投票
1 回答
1291 浏览

soap - 如何通过 JAXB Schemagen 从扩展自 java.util.Date 的自定义 Java 类生成 xsd

我有一个自定义 java 类“CustomDate1”扩展了 java.util.Date,我想通过 Schemagen 为它生成 XSD 文件。但似乎在 XSD 文件中,“customDate1”没有扩展项,我不知道为什么,也许 JAXB 不支持扩展日期的类?

Java 类:

}

XSD 文件:

<xs:complexType name="customDate1">

<xs:sequence/>

</xs:complexType>

乔伊