引起:java.lang.NoClassDefFoundError:WAS Liberty中的com / ibm / CORBA / iiop / ORB

时间:2016-08-02 18:50:09

标签: websphere websphere-liberty

我开始在我的eclipse中使用WAS Liberty 8.5,当我尝试部署应用程序时,我收到此错误。

Caused by: java.lang.NoClassDefFoundError: com/ibm/CORBA/iiop/ORB

我发现它是由于WAS服务器安装提供的WAS运行时jar ibmorb.jar所致。

我不知道如何在WAS Liberty个人资料中配置。任何线索。

即使我在库路径中提到过,但仍然出错。

<variable name="DRIVER_PATH" value="C:\NovemberR2\DMS\deploy\lib"/>
<library id="db2Lib">
          <fileset dir="${DRIVER_PATH}" includes="com.ibm.ws.orb_8.5.0.jar classes12.jar oracleJDBC.jar ojdbc6.jar ojdbc14.jar ibmorbapi.jar ibmorb.jar"/>
</library>

堆栈跟踪是---&gt;

here is the stack trace.    ...` 61 more
Caused by: java.lang.NoClassDefFoundError: com/ibm/CORBA/iiop/ORB
    at java.lang.Class.getDeclaredMethods0(Native Method)
    at java.lang.Class.privateGetDeclaredMethods(Class.java:2442)
    at java.lang.Class.getMethod0(Class.java:2685)
    at java.lang.Class.getMethod(Class.java:1620)
    at com.ibm.ws.naming.util.Helpers.getInitORBMethodForNonApplet(Helpers.java:411)
    at com.ibm.ws.naming.util.Helpers.getOrb(Helpers.java:390)
    at com.ibm.ws.naming.util.WsnInitCtxFactory.getInitialContextInternal(WsnInitCtxFactory.java:462)
    at com.ibm.ws.naming.util.WsnInitCtx.getContext(WsnInitCtx.java:128)
    orSourcesPropertyResolver.java:84)
    at org.springframework.core.env.PropertySourcesPropertyResolver.getProperty(PropertySourcesPropertyResolver.java:60)
    at org.springframework.core.env.AbstractEnvironment.getProperty(AbstractEnvironment.java:511)
    at org.springframework.context.support.PropertySourcesPlaceholderConfigurer$1.getProperty(PropertySourcesPlaceholderConfigurer.java:135)
    at org.springframework.context.support.PropertySourcesPlaceholderConfigurer$1.getProperty(PropertySourcesPlaceholderConfigurer.java:132)
    at org.springframework.core.env.PropertySourcesPropertyResolver.getProperty(PropertySourcesPropertyResolver.java:84)
    at org.springframework.core.env.PropertySourcesPropertyResolver.getPropertyAsRawString(PropertySourcesPropertyResolver.java:70)
    at org.springframework.core.env.AbstractPropertyResolver$1.resolvePlaceholder(AbstractPropertyResolver.java:207)
    at org.springframework.util.PropertyPlaceholderHelper.parseStringValue(PropertyPlaceholderHelper.java:147)
    at org.springframework.util.PropertyPlaceholderHelper.replacePlaceholders(PropertyPlaceholderHelper.java:126)
    at org.springframework.core.env.AbstractPropertyResolver.doResolvePlaceholders(AbstractPropertyResolver.java:204)
    at org.springframework.core.env.AbstractPropertyResolver.resolveRequiredPlaceholders(AbstractPropertyResolver.java:178)
    at org.springframework.context.support.PropertySourcesPlaceholderConfigurer$2.resolveStringValue(PropertySourcesPlaceholderConfigurer.java:175)
    at org.springframework.beans.factory.support.AbstractBeanFactory.resolveEmbeddedValue(AbstractBeanFactory.java:801)
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:962)
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:949)
    at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:533)
    ... 63 more

感谢您的提示,但我曾经在WAS 8.0服务器中运行此应用程序,并且IBM WAS JDK提供内置版本,并且我开始使用自由配置文件进行WAS 8.5迁移,并考虑进行实验。

3 个答案:

答案 0 :(得分:1)

希望这个答案对其他人有所帮助,因为它可能为时已晚! 尝试在类路径中添加com.ibm.ws.orb_8.5.0.jar。此jar将在<WAS_HOME>\AppServer\runtimes下提供。这将解决问题。

答案 1 :(得分:0)

这里的问题看起来就像是使用WAS传统的JDK来运行Liberty服务器。

WAS传统附带的JDK将会有额外的东西,专门用于运行WAS传统(它不支持可插入的JDK)。

<强>相反:
使用标准JDK运行Liberty服务器。您可以从IBM(而不是传统的WAS),Oracle或OpenJDK获得标准JDK。

答案 2 :(得分:0)

该问题表明该应用程序在WAS 8.0上正常运行。使用WAS 8.5,您现在尝试在Liberty Profile上运行相同的应用程序。 Liberty配置文件支持传统WAS配置文件的功能子集(现在称为“完整配置文件”)。

正如用户@aguibert在回答中提到的那样,您必须为Liberty配置文件提供Java运行时环境。这可以是任何兼容的Java SE 6/7/8 JRE / JDK *。对于完整的配置文件,需要不同的JDK;这与安装包捆绑在一起。此WebSphere JDK应包含ibmorb.jar文件。

因此,请尝试使用WAS 8.5完整配置文件运行您的应用程序。这应该可以解决问题。您还可以考虑迁移到最新版本的WAS,即v9.0。

IBM知识中心的其他资源:Liberty profile overview

*受minimum supported Java levels的约束。