我开始在我的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迁移,并考虑进行实验。
答案 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。