Tom*_*mer 10 java xmlbeans maven
我已经从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中?
在生成的 jar 文件中,确保包含了从 xmlbeans 生成的类文件。
从堆栈跟踪:
Caused by: java.lang.ClassNotFoundException: schemaorg_apache_xmlbeans.system.s8
B21CFFFCFED0B2438C2585C61F113F7.TypeSystemHolder
Run Code Online (Sandbox Code Playgroud)
它表明在编译期间所需的类文件在类路径中,但在您构建的 jar 中这些文件丢失了。
检查您的 jar 文件以查看这些类是否存在。
编辑:根据改写的问题
对于在 Maven 使用jar-with-dependencies选项中使用依赖项构建 jar ,示例
两个很好的参考:
http://www.sonatype.com/books/mvnref-book/reference/assemblies-sect-basics.html
http://thomassundberg.wordpress.com/2011/03/05/create-an-executable-jar-from-maven/
在第二个中,如果 jar 不是可执行 jar,则不需要主类