Websphere | Spring状态机| UML错误加载

Websphere | Spring状态机| UML错误加载,websphere,uml,eclipse-emf,spring-statemachine,ecore,Websphere,Uml,Eclipse Emf,Spring Statemachine,Ecore,我已经创建了一个Spring状态机,它在tomcat服务器中运行良好,但是当我将其部署到WebSphere8.5.5.17中时,它给出了以下错误 我使用Papyrus modeler和eclipse创建了这个过程 库- uml-5.0.0-v20140602-0749.jar types-2.0.0-v20140602-0749.jar org.eclipse.emf.common-2.11.0-v20150805-0538.jar org.eclipse.emf.ecore.xmi-2.

我已经创建了一个Spring状态机,它在tomcat服务器中运行良好,但是当我将其部署到WebSphere8.5.5.17中时,它给出了以下错误

我使用Papyrus modeler和eclipse创建了这个过程

-

uml-5.0.0-v20140602-0749.jar   
types-2.0.0-v20140602-0749.jar
org.eclipse.emf.common-2.11.0-v20150805-0538.jar
org.eclipse.emf.ecore.xmi-2.11.1-v20150805-0538.jar
org.eclipse.emf.ecore-2.11.1-v20150805-0538.jar
common-2.0.0-v20140602-0749.jar
错误日志

 Caused by: org.eclipse.emf.common.util.WrappedException: org.eclipse.emf.ecore.resource.Resource$IOWrappedException: Feature 'eGenericType' not found.  
    
Feature 'eGenericType' not found.  uml-5.0.0-v20140602-0749.jar!/org/eclipse/uml2/uml/internal/impl/uml.ecore, 14, 98)

at org.eclipse.uml2.uml.internal.impl.UMLPackageImpl.loadPackage(UMLPackageImpl.java:17522)
        at org.eclipse.uml2.uml.internal.impl.UMLPackageImpl.init(UMLPackageImpl.java:1910)
        at org.eclipse.uml2.uml.UMLPackage.<clinit>(UMLPackage.java:83)

Caused by: java.lang.ExceptionInInitializerError
        at java.lang.J9VMInternals.ensureError(J9VMInternals.java:146)
        at java.lang.J9VMInternals.recordInitializationFailure(J9VMInternals.java:135)
        at org.springframework.statemachine.uml.support.UmlUtils.getResource(UmlUtils.java:77)
        at org.springframework.statemachine.uml.UmlStateMachineModelFactory.build(UmlStateMachineModelFactory.java:77)
        at org.springframework.statemachine.config.model.AbstractStateMachineModelFactory.build(AbstractStateMachineModelFactory.java:82)
        at org.springframework.statemachine.config.AbstractStateMachineFactory.resolveStateMachineModel(AbstractStateMachineFactory.java:518)
        at org.springframework.statemachine.config.AbstractStateMachineFactory.getStateMachine(AbstractStateMachineFactory.java:167)
        at org.springframework.statemachine.config.AbstractStateMachineFactory.getStateMachine(AbstractStateMachineFactory.java:143)
原因:org.eclipse.emf.common.util.WrappedException:org.eclipse.emf.ecore.resource.resource$IOWrappedException:未找到功能“eGenericType”。
未找到功能“eGenericType”。uml-5.0.0-v20140602-0749.jar/org/eclipse/uml2/uml/internal/impl/uml.ecore,14,98)
在org.eclipse.uml2.uml.internal.impl.UMLPackageImpl.loadPackage上(UMLPackageImpl.java:17522)
位于org.eclipse.uml2.uml.internal.impl.UMLPackageImpl.init(UMLPackageImpl.java:1910)
位于org.eclipse.uml2.uml.UMLPackage(UMLPackage.java:83)
原因:java.lang.ExceptionInInitializeError
在java.lang.J9VMInternals.ensureError(J9VMInternals.java:146)
在java.lang.J9VMInternals.recordInitializationFailure(J9VMInternals.java:135)中
位于org.springframework.statemachine.uml.support.UmlUtils.getResource(UmlUtils.java:77)
位于org.springframework.statemachine.uml.UmlStateMachineModelFactory.build(UmlStateMachineModelFactory.java:77)
位于org.springframework.statemachine.config.model.AbstractStateMachineModelFactory.build(AbstractStateMachineModelFactory.java:82)
位于org.springframework.statemachine.config.AbstractStateMachineFactory.resolveStateMachineModel(AbstractStateMachineFactory.java:518)
位于org.springframework.statemachine.config.AbstractStateMachineFactory.getStateMachine(AbstractStateMachineFactory.java:167)
位于org.springframework.statemachine.config.AbstractStateMachineFactory.getStateMachine(AbstractStateMachineFactory.java:143)
POM相关性

        <dependency>
            <groupId>org.springframework.statemachine</groupId>
            <artifactId>spring-statemachine-core</artifactId>
            <version>2.2.0.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.statemachine</groupId>
            <artifactId>spring-statemachine-uml</artifactId>
            <version>2.2.0.RELEASE</version>
        </dependency>

org.springframework.statemachine
是用uml依赖下载的maven依赖

尝试在此处加载UML

       @Bean
        public StateMachineModelFactory<String, String> modelFactory() {
            return new UmlStateMachineModelFactory("path to uml file");
        }
@Bean
public StateMachineModelFactory模型工厂(){
返回新的UmlStateMachineModelFactory(“uml文件的路径”);
}
UML定义

 <?xml version="1.0" encoding="UTF-8"?>
    <uml:Model xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xmi:id="_lhOv4PgxEeqQrKoLnfoy6A" name="stateMachine">
    
<packageImport xmi:type="uml:PackageImport" xmi:id="_lzF78PgxEeqQrKoLnfoy6A">
    <importedPackage xmi:type="uml:Model" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#_0"/>
  </packageImport>

<packagedElement/>

    </uml:Model>


这可能是类缓存的问题。尝试停止服务器,然后使用
clearclascache.bat
osgiCfgInit.bat
清除缓存。如果没有帮助,您可以尝试使用
-Xshareclasses:none
禁用类共享,如这里所述-还可以检查uml的路径是否有效,以及它的使用方式。@Gas Yes path有效,它将加载uml文件。但不知何故,uml内部使用的eclipse jar出现了问题。您可以尝试检查类加载。并查看类是否从您期望的位置正确加载。@我验证了正在加载的jar,“uml-5.0.0-v20140602-0749.jar”是我添加并正在加载的内容。但仍然出现错误,我尝试更新ecore libs,但仍然没有成功。