【问题标题】:XMLBeans Cannot load SchemaTypeSystem. Unable to load class with name schemaorg_apache_xmlbeans.systemXMLBeans 无法加载 SchemaTypeSystem。无法加载名为 schemaorg_apache_xmlbeans.system 的类
【发布时间】:2021-03-16 14:38:11
【问题描述】:

我正在尝试使用从 github 克隆的项目(IntellijJ 文件 -> 新建 -> 版本控制中的项目)运行 SoapUI:

git clone https://github.com/SmartBear/soapui.git

然后我正在运行 maven compile 并且它没有错误。但是当我尝试运行该应用程序时,出现以下错误:

15:20:40,429 WARN  [SoapUI] Missing folder [C:\%USERPROFILE%\IdeaProjects\soapui\ext] for external libraries
15:20:40,429 WARN  [SoapUI] Missing folder [C:\%USERPROFILE%\IdeaProjects\soapui\ext] for external libraries
Exception in thread "AWT-EventQueue-0" java.lang.ExceptionInInitializerError
    at com.eviware.soapui.config.SoapuiSettingsDocumentConfig$Factory.parse(SoapuiSettingsDocumentConfig.java:59)
    at com.eviware.soapui.DefaultSoapUICore.initSettings(DefaultSoapUICore.java:261)
    at com.eviware.soapui.SwingSoapUICore.initSettings(SwingSoapUICore.java:99)
    at com.eviware.soapui.DefaultSoapUICore.init(DefaultSoapUICore.java:143)
    at com.eviware.soapui.StandaloneSoapUICore.<init>(StandaloneSoapUICore.java:38)
    at com.eviware.soapui.SoapUI$SoapUIRunner.run(SoapUI.java:792)
    at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:313)
    at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:770)
    at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:721)
    at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:715)
    at java.base/java.security.AccessController.doPrivileged(AccessController.java:389)
    at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
    at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:740)
    at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
    at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
    at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)
    at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)
    at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
    at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)
Caused by: java.lang.RuntimeException: Cannot load SchemaTypeSystem. Unable to load class with name schemaorg_apache_xmlbeans.system.s05EC9A3AACC8687CD214E9B1A496DB91.TypeSystemHolder. Make sure the generated binary files are on the classpath.
    at org.apache.xmlbeans.XmlBeans.typeSystemForClassLoader(XmlBeans.java:788)
    at com.eviware.soapui.config.SoapuiSettingsDocumentConfig.<clinit>(SoapuiSettingsDocumentConfig.java:20)
    ... 19 more
Caused by: java.lang.ClassNotFoundException: schemaorg_apache_xmlbeans.system.s05EC9A3AACC8687CD214E9B1A496DB91.TypeSystemHolder
    at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:583)
    at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)
    at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)
    at org.apache.xmlbeans.XmlBeans.typeSystemForClassLoader(XmlBeans.java:774)
    ... 20 more

这是 POM 的链接: https://github.com/SmartBear/soapui/blob/next/soapui/pom.xml

在阅读了一些类似的问题后,我认为 POM 有问题,但我不知道是什么问题。 有什么提示吗?

【问题讨论】:

    标签: java maven intellij-idea soapui


    【解决方案1】:

    您好,我遇到了同样的问题并已解决。

    这里就发生了。

    settingsDocument = SoapuiSettingsDocumentConfig.Factory.newInstance();
    
    public static final class Factory
    {
        public static com.eviware.soapui.config.SoapuiSettingsDocumentConfig newInstance() {
          return (com.eviware.soapui.config.SoapuiSettingsDocumentConfig) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().newInstance( type, null ); }
    

    根本原因就是这个。

    无法加载此类。 "org.apache.xmlbeans.XmlBeans.getContextTypeLoader()"

    此解决方案是添加 jar-with-dependencies 插件。

    Error when using XmlBeans generated classes

    http://maven.apache.org/plugins/maven-assembly-plugin/descriptor-refs.html#jar-with-dependencies

    你必须在 pom.xml 中添加两个块

                <build>
                <plugins>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-assembly-plugin</artifactId>
                        <version>3.3.0</version>
                        <configuration>
                            <archive>
                                <manifest>
                                    <mainClass>fully.qualified.MainClass</mainClass>
                                </manifest>
                            </archive>
                            <descriptorRefs>
                                <descriptorRef>jar-with-dependencies</descriptorRef>
                            </descriptorRefs>
                        </configuration>
                    </plugin>
                </plugins>
            </buid>
    

            <dependency>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-assembly-plugin</artifactId>
            <version>3.3.0</version>
        </dependency>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-05-03
      • 2014-12-24
      • 2011-05-28
      • 1970-01-01
      • 2011-01-24
      • 2018-05-24
      • 2018-07-02
      相关资源
      最近更新 更多