标签: xmlbeans

不推荐使用Springs XmlBeanFactory

我试着学春天.我关注此网站http://www.roseindia.net/spring/spring3/spring-3-hello-world.shtml

我试过一个例子.我正在使用下面的一些内容,但这里显示:

不推荐使用XmlBeanFactory类型

作为替代方案,我必须使用什么?

public class SpringHelloWorldTest {
    public static void main(String[] args) {

        XmlBeanFactory beanFactory = new XmlBeanFactory(new ClassPathResource("SpringHelloWorld.xml"));

        Spring3HelloWorld myBean = (Spring3HelloWorld)beanFactory.getBean("Spring3HelloWorldBean");
        myBean.sayHello();
    }
}
Run Code Online (Sandbox Code Playgroud)

java spring xmlbeans deprecated

50
推荐指数
5
解决办法
5万
查看次数

现在已经退役的是什么而不是XMLBeans?

我正在开始一个新的项目,我有第三方XSD.我的Java应用程序需要生成符合此XSD的XML消息,并读取符合此XSD的传入XML消息.在过去,我使用了Apache XMLBeans(http://xmlbeans.apache.org/).看起来XMLBeans已经退役了.现在已经退役的XMLBeans有什么好的替代品?我在其他项目中使用过XStream,但我不记得XStream能够从XSD生成Java类,所以我认为对于这个用例,它不是XMLBeans的好选择.我在XSD中定义了数百种类型,并且非常希望不必创建数百个Java类来手动用Java表示它们.

换句话说,使用此处给出的XStream示例:http://x-stream.github.io/tutorial.html,我在XSD中定义了Person类型(以及其他99个).使用XMLBeans我可以生成Java类来表示这些对象但是使用XStream我需要手动或使用其他工具来创建Java类(例如Person).在这种情况下我应该使用什么工具?

任何帮助将不胜感激.

谢谢,约翰

java xml xsd xmlbeans

22
推荐指数
1
解决办法
2万
查看次数

Java XML绑定

你用什么来将XML绑定到Java?JAXB,Castor和XMLBeans是一些可用的选择.我见过的比较都是三四年了.我愿意接受其他建议.编组/解组的性能和易用性是特别令人感兴趣的.

澄清:我不仅希望看到您使用的框架,而且还希望看到使用其中一个框架的原因.

java xml xmlbeans castor jaxb

19
推荐指数
2
解决办法
1万
查看次数

如何自动将xmlbeans生成的代码包含到maven jar中?

我有一个使用Apache Xmlbeans进行数据绑定的项目.目前很简单,它只有src/main/xsd中的一些Schema-Files和src/main/xsdconfig中的xsdconfig.

我想将生成的类包含在生成的jar-File中.如果我指定xmlbeans目标,它可以工作:"mvn xmlbeans:xmlbeans package" - >使用xmlbeans类创建一个Jar

但我想在正常的构建周期内执行此操作:"mvn package" - >应该使用xmlbeans类创建一个jar,但不会.

pom如下:

<project xmlns="http://maven.apache.org/POM/4.0.0" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>org.test</groupId>
  <artifactId>xmlbeans-maven-test</artifactId>
  <version>0.0.1-SNAPSHOT</version>

  <build>
   <pluginManagement>
    <plugins>
     <plugin>
          <groupId>org.codehaus.mojo</groupId>
          <artifactId>maven-xmlbeans-plugin</artifactId>
          <version>2.3.3</version>
     </plugin>
    </plugins>
   </pluginManagement>
  </build>


  <dependencies>
    <dependency>
      <groupId>org.apache.xmlbeans</groupId>
      <artifactId>xmlbeans</artifactId>
      <version>2.4.0</version>
      <scope>compile</scope>
    </dependency>
  </dependencies>
</project>
Run Code Online (Sandbox Code Playgroud)

我试图将它手动绑定到"generate-sources"(以及"编译"阶段)阶段,但它不起作用.

<project xmlns="http://maven.apache.org/POM/4.0.0" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>de.leradon</groupId>
  <artifactId>xmlbeans-maven</artifactId>
  <version>0.0.1-SNAPSHOT</version>

  <build>
   <pluginManagement>
    <plugins>
     <plugin>
          <groupId>org.codehaus.mojo</groupId>
          <artifactId>maven-xmlbeans-plugin</artifactId>
          <version>2.3.3</version>
          <executions>
             <execution>
                <phase>generate-sources</phase>
                <goals>
                  <goal>xmlbeans</goal>
                </goals>
             </execution>
          </executions>
     </plugin>

    </plugins>
   </pluginManagement>
  </build>


  <dependencies>
    <dependency>
      <groupId>org.apache.xmlbeans</groupId>
      <artifactId>xmlbeans</artifactId>
      <version>2.4.0</version>
      <scope>compile</scope>
    </dependency>
  </dependencies>
</project>
Run Code Online (Sandbox Code Playgroud)

我如何配置插件,以便当我运行"mvn …

maven-2 xmlbeans

13
推荐指数
1
解决办法
2万
查看次数

使用XmlBeans生成的类时出错

我已经从xsd文件生成了带有XMLBeans的类,并将它们打包在一个jar文件中.然后我在eclipse中将jar添加到项目类路径中,所有内容都编译并运行正常.我使用Maven从我的项目中构建了一个独立的jar文件,并且构建成功,但是当我尝试运行它时,我收到此错误:

 Exception in thread "main" java.lang.ExceptionInInitializerError
    at com.oblicore.oblisync.resolutions.TestsDocument$Factory.parse(TestsDo
cument.java:126)
    at com.oblicore.oblisync.handlers.TransferEntitiesHandler.getResolution(
TransferEntitiesHandler.java:117)
    at com.oblicore.oblisync.handlers.TransferEntitiesHandler.resolveConflic
ts(TransferEntitiesHandler.java:103)
    at com.oblicore.oblisync.main.Orchestrator.run(Orchestrator.java:107)
    at com.oblicore.oblisync.main.Orchestrator.main(Orchestrator.java:58)
Caused by: java.lang.RuntimeException: Cannot load SchemaTypeSystem. Unable to l
oad class with name schemaorg_apache_xmlbeans.system.s8B21CFFFCFED0B2438C2585C61
F113F7.TypeSystemHolder. Make sure the generated binary files are on the classpa
th.
    at org.apache.xmlbeans.XmlBeans.typeSystemForClassLoader(XmlBeans.java:7
83)
    at com.oblicore.oblisync.resolutions.TestsDocument.<clinit>(TestsDocumen
t.java:19)
    ... 5 more
Caused by: java.lang.ClassNotFoundException: schemaorg_apache_xmlbeans.system.s8
B21CFFFCFED0B2438C2585C61F113F7.TypeSystemHolder
    at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:303)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
    at org.apache.xmlbeans.XmlBeans.typeSystemForClassLoader(XmlBeans.java:7
69)
    ... 6 more
Run Code Online (Sandbox Code Playgroud)

缺少的类是在我用XmlBeans创建的jar中,我如何告诉maven将它添加到它从我的项目创建的jar中?

java xmlbeans maven

10
推荐指数
2
解决办法
3万
查看次数

Apache POI 5 和 XMLBeans 类路径问题

我尝试在下面的帖子中回答,但我没有“声誉”,也确实没有时间去寻找 10 个问题来回答。 运行时异常 - POI 5 和 xmlbeans

对于 WebLogic 服务器中的 POI 5 和 XMLBeans 4(或 5),存在类加载器问题,它将尝试使用 WebLogic 服务器模块目录中的底层 XMLBeans jar。

在 EAR 中打包时,您可以使用 weblogic-application.xml 描述符来覆盖类加载。但是,在这里列出 POI 和依赖包将导致进一步的错误。SchemaTypeLoaderImpl 类正在新的 (org.apache.xmlbeans.metadata) 和旧的 (schemaorg_apache_xmlbeans) 包中查找。因此,您还应该将旧包包含在覆盖列表中。

现在,SchemaTypeLoaderImpl 还会尝试使用 ClassLoader.getResource 加载 TypeSystemHolder 类,然后再尝试使用 Class.forName 查找它。要解决此问题,您需要防止它找到旧类,因为以前的包覆盖仅使您的应用程序捆绑库优先于底层服务器库。它并没有阻止它找到这些过时的类并尝试加载它们。这可以通过使用这些资源来完成。

请注意,我仅使用基本的 XSSFWorkbook XLS 功能!如果您使用其他 POI 功能,您可能需要追踪其他资源。

例如,以下 weblogic-application.xml 描述符允许您的应用程序使用捆绑的 POI/XMLBeans 库并忽略旧资源。

<prefer-application-packages>
    <package-name>org.apache.commons.collections4.*</package-name>
    <package-name>org.apache.commons.compress.*</package-name>
    <package-name>org.apache.poi.*</package-name>
    <package-name>org.apache.xmlbeans.*</package-name>
    <package-name>org.openxmlformats.*</package-name>
    <package-name>schemaorg_apache_xmlbeans.*</package-name>
</prefer-application-packages>
<prefer-application-resources>
    <resource-name>schemaorg_apache_xmlbeans/system/sXMLCONFIG/TypeSystemHolder.class</resource-name>
    <resource-name>schemaorg_apache_xmlbeans/system/sXMLLANG/TypeSystemHolder.class</resource-name>
    <resource-name>schemaorg_apache_xmlbeans/system/sXMLSCHEMA/TypeSystemHolder.class</resource-name>
    <resource-name>schemaorg_apache_xmlbeans/system/sXMLTOOLS/TypeSystemHolder.class</resource-name>
</prefer-application-resources>
Run Code Online (Sandbox Code Playgroud)

xmlbeans apache-poi

10
推荐指数
0
解决办法
4135
查看次数

来自xmlbeans的RuntimeException - 找不到已编译的模式

我在执行一些依赖于生成的xmlbeans类的代码时遇到了RuntimeException.我无法弄清楚这是不是:

  • 我在代码生成或打包过程中遗漏了一些东西
  • 缺少运行时依赖项
  • 一个误导性的错误信息,我应该在其他地方寻找.

xbean.jar版本在构建和执行环境中是相同的.有人见过这个或有任何想法吗?

谢谢.

...snip...
Caused by: java.lang.RuntimeException: Could not instantiate SchemaTypeSystemImpl (java.lang.reflect.InvocationTargetException): is the version of xbean.jar correct?
    at schemaorg_apache_xmlbeans.system.s2B8331230CBD98F4933B0B025B6BF726.TypeSystemHolder.loadTypeSystem(Unknown Source)
    at schemaorg_apache_xmlbeans.system.s2B8331230CBD98F4933B0B025B6BF726.TypeSystemHolder.(Unknown Source)
    ... 38 more
Caused by: java.lang.reflect.InvocationTargetException
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:494)
    ... 40 more
Caused by: org.apache.xmlbeans.SchemaTypeLoaderException: XML-BEANS compiled schema: Could not locate compiled schema resource schemaorg_apache_xmlbeans/system/s2B8331230CBD98F4933B0B025B6BF726/index.xsb (schemaorg_apache_xmlbeans.system.s2B8331230CBD98F4933B0B025B6BF726.index) - code 0
    at org.apache.xmlbeans.impl.schema.SchemaTypeSystemImpl$XsbReader.(SchemaTypeSystemImpl.java:1504)
    at org.apache.xmlbeans.impl.schema.SchemaTypeSystemImpl.initFromHeader(SchemaTypeSystemImpl.java:260)
    at org.apache.xmlbeans.impl.schema.SchemaTypeSystemImpl.(SchemaTypeSystemImpl.java:183)
    ... 44 more
...snip...

java xml xmlbeans

9
推荐指数
1
解决办法
1万
查看次数

哪个框架,工具或插件强制要求硬编码的'database.xsd'文件名?

我继承了一个基于CXF/Hibernate/JBoss的项目,其中包含一个名为的文件名database.xsd.我梳理了项目以找出系统中使用的子系统/组件,database.xsd但是在maven-war-plugin使用的文件中只产生了一个引用来创建WAR文件(webapp-cache.xml).

对我来说,这表明database.xsd某些框架或插件需要一些标准文件名.但是这是什么?休眠?CXF?其他?

是否有文档实际描述了database.xsd依赖它的包中的角色?

更新:暂时删除database.xsd并尝试重建,导致大量编译错误导致XML2SQL.java使用*.hbm.xmlDTO文件引用的包的主要文件.这告诉我,罪魁祸首是...... 休眠!

spring xsd hibernate cxf xmlbeans

9
推荐指数
1
解决办法
162
查看次数

Apache XmlBeans NullPointerException

我试图解析pacs.003 ISO20022格式的xml文件.我有这个XSD,并使用XMLBeans创建了所需的Java类.我遇到的问题是我无法从XML中读取元素并继续获取NullPointerException.我搜索过类似的问题,但大多数都导致OP转向不同的技术.

我从LON_20160208.xml获得的XML片段是:

  <S2SDDDnf:FIToFICstmrDrctDbt xmlns="urn:iso:std:iso:20022:tech:xsd:pacs.003.001.02">
    <GrpHdr>
      <MsgId>DDA160802AASW006543</MsgId>
    </GrpHdr>
  </S2SDDDnf:FIToFICstmrDrctDbt>
Run Code Online (Sandbox Code Playgroud)

我的代码是:

  public static void main(String[] args) {
    XmlOptions xmlOptions = new XmlOptions();
    xmlOptions.setUseDefaultNamespace();
    xmlOptions.setSavePrettyPrint();

    Document doc;

    try {
        doc = Document.Factory.parse(new File("data_samples/LON_20160208.xml"));
        String messageId = doc.getFIToFICstmrDrctDbt().getGrpHdr().getMsgId();

    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    } catch (XmlException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
}
Run Code Online (Sandbox Code Playgroud)

doc.getFIToFICstmrDrctDbt()在上述结果NullPointerException异常,这似乎指向无论是get_store()在XMLBeans类中的方法或与命名空间的问题.

我已经尝试使用替换命名空间映射并打开setUseDefaultNamespace()和关闭该方法(它目前没有在上面注释掉).我也看过有关添加一个答案elementFormDefault="qualified"xsd:schema元素,但这个已经完成.这些似乎都没有解决问题,我的想法已经不多了.

任何帮助将不胜感激.

java xml xsd xmlbeans xml-namespaces

9
推荐指数
1
解决办法
311
查看次数

将xml转换为java bean

如何将xml文件转换为简单的java bean?它是一个简单的xml文件,没有任何xsd,它是从java bean生成的,我无权访问它.

我尝试使用xmlbeans首先从xml生成xmd,然后从xsd生成类.我有一堆课.我正在寻找一个单独的java bean类.

java xml xmlbeans javabeans

8
推荐指数
2
解决办法
3万
查看次数