草庐IT

jaxb-episode

全部标签

java - 无法解析 jaxb-xjc-2.2.5-2.jar 中的名称 'xjc:globalJavaType'

Maven工程,转移到另一台PC后报错。为什么?[INFO][jaxb2:generate{execution:default-cli}][INFO]------------------------------------------------------------------------[ERROR]FATALERROR[INFO]------------------------------------------------------------------------[INFO]org.xml.sax.SAXParseException;systemId:jar:file:

java - 如何使用具有类似结构的类容器元素的 JAXB 避免代码重复

情况我正在使用MOXy的JAXB实现来处理一个大型XML文档,该文档的架构具有许多类似的复杂类型。具体来说,大约有两打类型充当具有以下结构的列表包装器元素:......对于这些类似列表包装器的元素中的每一个,名称都会发生变化,并且所包含的列表元素也会发生变化。但是,属性(都是可选的)和单个EXTENSION元素(也是可选的)始终存在。下面是其中两种类型的使用示例:JoeHere问题我想避免代码重复,因为这些元素之间唯一发生变化的是名称及其包含的一个或多个元素。执行此操作的最佳方法是什么?我只能看到两种可能的解决方案。1使用泛型创建具体类以指示要在发生变化的集合中使用的对象类型。然后使用

java - NoClassDefFoundError : Unable to load class groovy. xml.jaxb.JaxbGroovyMethods 由于缺少依赖项 javax/xml/bind/Unmarshaller

关闭。这个问题是notreproducibleorwascausedbytypos.它目前不接受答案。这个问题是由于错别字或无法再重现的问题引起的。虽然类似的问题可能是on-topic在这里,这个问题的解决方式不太可能帮助future的读者。关闭4年前。Improvethisquestion我们的Gradle构建有--add-modules=java.xml.bind,java.activation,java.xml.ws.annotation至options.compilerArgs在JavaCompile使用JDK9/10构建。现在效果很好,但这些模块已被弃用。我想为JDK11做准

java - JAXB:仅为 XSD 类型的子集生成 Java 类

我有几个巨大的XML模式定义(XSD)文件,我只想为已定义类型的一个子集生成相应的Java类。更准确地说,我有一个“根”类型列表,我想将其转换为Java类,包括这些根类型所需的所有类型。是否可以在JAXB绑定(bind)文件中定义一些“根”类型,并告诉JAXB仅将它们及其所有依赖类型转换为Java类,而忽略所有其他不必要的类型?提前致谢。 最佳答案 可能有一种更直接的方法,但一种方法是制作XSD的副本并从副本中删除所有XML类型,但您想要的根类型及其依赖项除外。然后在副本而不是原始副本上应用xjc。您可以使用XSLT和构建自动化工具

java - 使用 JAXB 编译多个包含相同元素的重复定义的 XSD

问题:我如何让xjc/Jaxb为同一命名空间中包含重复元素定义的多个模式生成适当的java类?信息:我有三个.xsd架构:A、B和C。它们都具有相同的目标namespace。它们都是给我的3个shemas,我不能以任何可能的方式以任何方式更改它们。他们A有一些在B或C中也存在的元素(但A也有很多self声明的元素)示例:这是A和C的相同“代码”:当使用xjc将它们编译成javaclasses时,出现以下异常:[ERROR]'y_ym_ymdDatoType'isalreadydefinedline297offile:../c.xsd[ERROR](relatedtoaboveerror

java - "duplicate class definition bug occured"在 jboss 中使用 jaxb

我在jboss5.0.1GA容器中使用jaxb,并在启动时看到一个奇怪的异常。它只出现一次。从堆栈跟踪可以看出,它是在FrameworkUtil类的类初始化期间。FrameworkUtil第119行如下所示:JAXBContextj=JAXBContext.newInstance(Validate.class,Response.class....);Validate.java中有这个:@XmlRootElement(name="validate")publicclassValidate{ListuserGroups;@XmlElementWrapper(name="userGroups

java - 删除 xsi :type information from xml/json JAXB?

我正在使用JAXB将我的域模型转换为XML和JSON表示。我有Studentpojo可以转换为XMl/JSON。它有一个content属性,可以是任何数据类型。它的模式定义:因此生成的java文件具有Object类型的内容。学生.java:@XmlAccessorType(XmlAccessType.FIELD)@XmlType(name="",propOrder={"content"})@XmlRootElement(name="student")publicclassStudentextendsPeople{................@XmlElement(required=

java - 使用 JAXB 和 Stax 对 XML 文档进行验证

我已经创建了一个XML模式(foo.xsd)并使用xjc为JAXB创建了我的绑定(bind)类。假设根元素是collection,我正在编写N个复杂类型的document对象。因为我打算写出大型XML文件,所以我使用Stax写出collection根元素,并使用JAXB使用Marshaller.marshal(JAXBElement,XMLEventWriter)编码文档子树。这是jaxb'sunofficialuser'sguide推荐的方法.我的问题是,如何在编码XML时对其进行验证?如果我将模式绑定(bind)到JAXB编码器(使用Marshaller.setSchema()),

java - 在多个服务之间重用 CXF jaxb 上下文

我有多个服务可以返回数千个类的结果。由于每个CXF服务都包含一个私有(private)的几乎相同的JAXB上下文,这会造成巨大的内存浪费。有没有办法自己创建JAXB上下文并在服务之间共享它? 最佳答案 一种可能的解决方法是在spring配置中添加以下内容:其中的值只是对持有全局(单个)JAXBContext并具有以下方法的bean的引用:publicjavax.xml.bind.JAXBContextgetContext(){...}您可以在以下线程中查看更多详细信息(包括CXF大师DanielKulp的输入):Reuse-JAXB

java - JAXB RI ClassFactory 中的空指针异常

介绍我和我的friend正在开发一个JavaFX应用程序,它充当我们学校的规划师。我们有任务(类作业)、Activity、类(class)和学生信息。为了尝试将数据持久存储在用户的硬盘上,我们使用JAXB。我们已经注释了我们的类,并且可以在包装器中成功编码Task类。问题是从tasks.xml解码文件。以下是相关的代码行:任务.java@XmlRootElementpublicclassTask{//constructors//completeconstructorpublicTask(StringclassName,Stringassignment,Stringdescription