我使用jaxb 3.0.0(xjc.sh)来创建Java类,但出于某种原因,它不尊重嵌入式绑定。jaxb 2.3.1也可以正常工作
$pwd/c/jaxb-ri-3.0.0/jaxb-ri/bin
xjc.shValidation.xsd
它正在创建ApiValidator。java,我希望它不会创建一个新的绑定,而不是引用我作为嵌入绑定的绑定。
$cat Validation.xsd
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
targetNamespace="a/model"
xmlns:jaxb="http://java.sun.com/xml/ns/jaxb" jaxb:version="2.0"
xmlns:tns="a/model" elementFormDefault="qualified">
<xs:attribute name="Description" type="xs:string"/>
<xs:attribute name="Required" type="xs:boolean"/>
<xs:complexType name="ValidationAction">
<xs:sequence>
<xs:element name="api" type="xs:string" tns:Description="Indicates the validation API"/>
<xs:element name="method" type="xs:string" tns:Description="Indicates the validation method"/>
<xs:element name="beanName" type="xs:string" tns:Description="Validation bean name"/>
<xs:element name="validationClass" type="xs:string" tns:Description="Validation class type"/>
<xs:element name="idOwner" type="xs:int" tns:Description="Indicates the owner associated with the validation"/>
<xs:element name="valid" type="xs:boolean" tns:Description="Indicates if validation is valid"/>
<xs:element name="validator" type="tns:ApiValidator" minOccurs="0" maxOccurs="1"
tns:Description="Reference to the API validator"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="ApiValidator">
<xs:annotation>
<xs:appinfo>
<jaxb:bindings node="//xs:complexType[@name='ApiValidator']">
<jaxb:class ref="a.ApiValidator"/>
</jaxb:bindings>
</xs:appinfo>
</xs:annotation>
</xs:complexType>
</xs:schema>
然而,如果我对2.3.1版本, $ ./ xjc.shValidation.xsdJava主要版本也这样做:8解析模式...编译模式...
我需要使用3.0.0版本,因为它生成雅加达名称空间。请说明为什么它不工作以及如何修复它?
这种行为与下面提到的xml相同:
$ cat V.xsd
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
targetNamespace="a/model"
xmlns:jaxb="http://java.sun.com/xml/ns/jaxb" jaxb:version="2.0"
xmlns:tns="a/model" elementFormDefault="qualified">
<xs:attribute name="Description" type="xs:string"/>
<xs:attribute name="Required" type="xs:boolean"/>
<xs:complexType name="ValidationAction">
<xs:sequence>
<xs:element name="api" type="xs:string" tns:Description="Indicates the validation API"/>
<xs:element name="method" type="xs:string" tns:Description="Indicates the validation method"/>
<xs:element name="beanName" type="xs:string" tns:Description="Validation bean name"/>
<xs:element name="validationClass" type="xs:string" tns:Description="Validation class type"/>
<xs:element name="idOwner" type="xs:int" tns:Description="Indicates the owner associated with the validation"/>
<xs:element name="valid" type="xs:boolean" tns:Description="Indicates if validation is valid"/>
<xs:element name="validator" type="tns:ApiValidator" minOccurs="0" maxOccurs="1"
tns:Description="Reference to the API validator"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="ApiValidator">
<xs:annotation>
<xs:appinfo>
<jaxb:class ref="rd.ApiValidator"/>
</xs:appinfo>
</xs:annotation>
</xs:complexType>
</xs:schema>
正如中所建议的:为rootElement忽略Jaxb implClass规范
事实证明,我不得不将线路从:
问题内容: 有人告诉我: 垂直对齐仅适用于内联,内联块,图像和表格元素。 与text-align不同,它必须应用于子元素,而不是应用于父元素。 但是,当我尝试在内联块元素上设置垂直对齐中间时,它不起作用。为什么? 问题答案: 这是行不通的,因为它vertical- align设置了行内内容相对于其行框而不是其包含块的对齐方式: 此属性影响由inline-level元素生成的框的线框内的垂直位置。
问题内容: AngularJS的两个绑定不适用于div。我希望我的div是可编辑的,但是没有发生。有人可以建议出什么问题吗?相同的绑定在文本框中也可以正常工作。这是我的代码: 问题答案: 请尝试此操作,它可能会有所帮助 https://github.com/angular/angular.js/issues/528 这是一个3岁的未解决问题,很多人希望解决。它被标记为和,而不是错误。鉴于Angul
问题内容: 我有一个注入了Facade对象的Jersey资源。这是在我的配置中,并且立面被很好地注入了。外墙包含一个DAO类,该类也应注入并在同一类中配置。现在到我的问题;DAO类为null。因此,不注射。 工厂实例非常简单。他们只是调用构造函数并将参数传递给它。 奇怪的是,当我使用bind(Class object)而不是bindFactory时,这绝对可以正常工作。 编辑 工厂工厂 问题答案:
六羟甲基三聚氰胺六甲醚。。在某些情况下,我有一个对象需要在hazelcast实例上执行操作。所以我实现了HazelcastInstanceAware接口,但这似乎不适用于嵌套类。。。 以下核心输出"null"到控制台: 公共类NullError实现可序列化,HazelcastInstanceAware{私有瞬态HazelcastInstance instance1;私有瞬态HazelcastIns
问题内容: 我正在使用Java开发应用程序,该应用程序需要做一些复杂的逻辑规则推演,并将其作为功能的一部分。我想用Prolog或其他逻辑/约束编程语言(而不是Java)编写我的逻辑推论,因为我相信生成的代码将大大简化和维护。 我在Prolog上搜索了嵌入式Java实现,并找到了很多,每个文档都很少。我的(适度)选择标准是: 应该可嵌入Java中(例如,可以与我的Java软件包捆绑在一起,而不需要在