- java/
- Java xmlbeans的运行时异常-can';找不到编译的模式
Java xmlbeans的运行时异常-can';找不到编译的模式
Java xmlbeans的运行时异常-can';找不到编译的模式,java,xml,xmlbeans,Java,Xml,Xmlbeans,我在执行一些依赖于生成的xmlbeans类的代码时遇到RuntimeException。我不知道这是不是:
我在代码生成或打包过程中丢失了一些东西
缺少运行时依赖项
一条误导性的错误信息,我应该去别处看看
xbean.jar版本在构建和执行环境中是相同的。有人见过这个或者有什么想法吗
谢谢
...snip...
Caused by: java.lang.RuntimeException: Could not instantiate SchemaTypeSystemImpl (java.lan
我在执行一些依赖于生成的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.lang.RuntimeException:无法实例化SchemaTypeSystemImpl(java.lang.reflect.InvocationTargetException):xbean.jar的版本正确吗?
位于schemaorg_apache_xmlbeans.system.s2B8331230CBD98F4933B0B025B6BF726.TypeSystemHolder.loadTypeSystem(未知源)
位于schemaorg_apache_xmlbeans.system.s2B8331230CBD98F4933B0B025B6BF726.TypeSystemHolder。(未知源)
... 38多
原因:java.lang.reflect.InvocationTargetException
位于sun.reflect.NativeConstructorAccessorImpl.newInstance0(本机方法)
位于sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
在sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
位于java.lang.reflect.Constructor.newInstance(Constructor.java:494)
... 40多
原因:org.apache.xmlbeans.SchemaTypeLoaderException:XML-BEANS编译架构:找不到编译架构资源schemaorg\u apache\u xmlbeans/system/s2b8331230cbd98f4933b025b6bf726/index.xsb(schemaorg\u apache\u xmlbeans.system.s2b8331230cbd98f4933b025b6bf726.index)-代码0
位于org.apache.xmlbeans.impl.schema.SchemaTypeSystemImpl$XsbReader。(SchemaTypeSystemImpl.java:1504)
位于org.apache.xmlbeans.impl.schema.SchemaTypeSystemImpl.initFromHeader(SchemaTypeSystemImpl.java:260)
位于org.apache.xmlbeans.impl.schema.SchemaTypeSystemImpl.(SchemaTypeSystemImpl.java:183)
... 44多
剪
我以前从未使用过图书馆,但我能猜出发生了什么。
有了那个限定词(也就是说,我只是在编造,但已经7个小时了,没有其他人编造任何东西)
说明一个显而易见的事实:某些内容已在某处编译,无法加载。我认为jar文件中没有这个东西;我猜是您的一个资源被编译/缓存到了某个位置
我想可能是:
- 它是在一个无法从中加载的地方编译的(混乱的classpath/config)
- 编译的内容和希望加载的内容之间的版本控制是错误的
您是否在编译和加载/运行之间更改了某些内容(例如模式版本?)
是否可以删除已编译的版本并重新编译,然后尝试重新加载
你能在文件系统中找到编译后的版本吗
为此,您可以尝试
grep“s2B8331230CBD98F4933B0B025B6BF726”`查找`
从某个合适的目录
您是否可以对类/资源执行md5测试,从而在编译和运行时环境中都造成问题?他们匹配吗
希望其中的某些东西能够帮助或引发思考。我经常看到这个问题,当时有一个脚本(ant、maven等)可以处理XMLBeans编译,而另一个机制用于编译和运行其余代码。有时,一个片段会删除XMLBeans在堆栈跟踪中查找的生成文件,但会留下生成的XMLBeans Java文件,这样所有内容都可以编译并看起来很好
在使用选项输出源文件而不是类文件时,我也看到了这一点。非Java源文件仅直接生成到XMLBeans生成的类文件夹或jar文件中 这些类文件是在resources/schemaorg\u apache\u xmlbeans目录中生成的。我看到过xmlbeans行为,生成的ant脚本未能将此目录包含在它创建的jar中(可能是由于一个bug?),请检查它是否已包含在jar中。您可以手动重新jar,或者检查代码生成命令行选项。John的回答对我来说是一个很好的提示。我使用xmlBeans生成Java类,并在我的项目中手动将源文件从“noNamespace”中复制出来进行修改。不幸的是,我没有意识到“schemaorg_apache_xmlbeans”文件夹中也有生成的类文件,因此没有复制它们。
切换到使用生成的jar文件后,一切都很好。我使用wsdltojava创建了一些soap代码。我没有注意到它还创建了一个“资源”文件夹,我没有将它复制到我的项目中。