java.lang.NoClassDefFoundError:org.apache.woden.resolver.URIResolver

时间:2017-04-14 11:45:20

标签: jvm websphere axis2

在WAS8中部署应用程序后获得以下异常。使用带有Woden api和impl 1.0M8的axis2 1.7.4系列。请有人帮忙

java.lang.NoClassDefFoundError: org.apache.woden.resolver.URIResolvergetting 
at java.lang.J9VMInternals.verifyImpl(Native Method)
at java.lang.J9VMInternals.verify(J9VMInternals.java:93)
at java.lang.J9VMInternals.initialize(J9VMInternals.java:170)
at org.apache.axis2.deployment.ModuleDeployer.deploy(ModuleDeployer.java:65)
at org.apache.axis2.deployment.repository.util.DeploymentFileData.deploy(DeploymentFileData.java:136)
at org.apache.axis2.deployment.DeploymentEngine.doDeploy(DeploymentEngine.java:815)
at org.apache.axis2.deployment.RepositoryListener.loadClassPathModules(RepositoryListener.java:222)
at org.apache.axis2.deployment.RepositoryListener.init2(RepositoryListener.java:71)
at org.apache.axis2.deployment.RepositoryListener.<init>(RepositoryListener.java:64)
at org.apache.axis2.deployment.DeploymentEngine.loadFromClassPath(DeploymentEngine.java:177)
at org.apache.axis2.deployment.FileSystemConfigurator.getAxisConfiguration(FileSystemConfigurator.java:135)
at org.apache.axis2.context.ConfigurationContextFactory.createConfigurationContext(ConfigurationContextFactory.java:64)
at org.apache.axis2.context.ConfigurationContextFactory.createConfigurationContextFromFileSystem(ConfigurationContextFactory.java:210)
at org.apache.axis2.client.ServiceClient.configureServiceClient(ServiceClient.java:151)
at org.apache.axis2.client.ServiceClient.<init>(ServiceClient.java:144)

以及后面的我也得到classnotfoundexception

Caused by: java.lang.ClassNotFoundException: org.apache.woden.resolver.URIResolver
at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:506)
at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:422)
at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:410)
at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:107)
at java.lang.ClassLoader.loadClass(ClassLoader.java:650)
... 27 more

1 个答案:

答案 0 :(得分:0)

如果您打算使用自己的Web服务实现,则必须使用PARENT_LAST类加载(或者,最好使用隔离的类加载器将您的Web服务实现版本打包在一个共享库中)并禁用WebSphere中的内置Web服务引擎。基于异常堆栈,似乎正在发生的事情是Web服务引擎中的某些内容正在与WebSphere的版本交互并触发WebSphere未包装的依赖项的负载。设置环境以使用您的版本将解决该问题。

请注意,WebSphere已经包含Axis2,因此,除非您严格依赖于该特定的版本,否则最好的解决方案是依靠WebSphere的Web服务提供程序,而不是自带。这将大大简化您的配置,因为您不需要处理禁用Web服务提供程序的类加载委派设置或系统属性。