2016-08-02 2 views
1

일식에서 WAS Liberty 8.5를 사용하기 시작했습니다. 응용 프로그램을 배포하려고 시도 할 때이 오류가 발생합니다.원인 : java.lang.NoClassDefFoundError : com/ibm/CORBA/iiop/ORB in WAS Liberty

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

나는 그것의 인해 서버가 설치 WAS와 함께 제공되는 런타임 항아리 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> 

스택 트레이스는> --- 힌트에 대한

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 

감사합니다,하지만 난 8.0 WAS 서버와 IBM은 JDK가 내장에서 제공하는 WAS 아니라이 응용 프로그램을 실행하는 데 사용하고 난에 마이그레이션을 시작 자유형 프로파일을 사용하여 그것을 실험하는 WAS 8.5 생각.

+0

예외의 스택 추적은 무엇입니까? 그러면로드하려고하는 내용이 표시됩니다. –

+0

스택 추적으로 질문을 편집했습니다. –

+0

WAS JRE가 지원되지 않는다고 생각합니다. –

답변

0

WAS와 함께 제공되는 JDK를 사용하여 Liberty 서버를 실행하는 것과 같은 문제가 발생합니다.

WAS와 함께 제공되는 JDK는 WAS (전통적으로 플러그인 가능하지 않은 JDK를 지원하지 않음)로 실행하기위한 추가 항목을 가지고 있습니다.

대신 :
Liberty 서버를 실행하려면 표준 JDK를 사용하십시오. 표준 JDK는 IBM (WAS 전통과 함께 제공되는 것이 아니라), Oracle 또는 OpenJDK에서 가져올 수 있습니다.

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 전체 프로파일을 사용하여 응용 프로그램을 실행하십시오. 이렇게하면 문제가 해결됩니다. v9.0 인 WAS의 최신 버전으로 마이그레이션하는 것도 고려할 수 있습니다.

IBM 지식 센터의 추가 자원 : Liberty profile overview.

* minimum supported Java levels이 적용됩니다.

0

이 답변이 너무 늦을 수 있으므로 다른 사람들에게 도움이되기를 바랍니다. 클래스 경로에 com.ibm.ws.orb_8.5.0.jar을 추가하십시오. 이 항아리는 <WAS_HOME>\AppServer\runtimes에 있습니다. 이렇게하면 문제가 해결됩니다.

관련 문제