oc4j 독립형 서버에 귀를 배치하려고합니다. 작업이 아무런 경고없이 성공적으로 완료 되었기 때문에 성공적으로 배포했다고 생각합니다. 이제이 웹 앱을 일부 웹 사이트에 바인딩해야한다고 생각합니다. C : \ 오라클 \ JDEV2 \ J2EE의 \ 홈> 자바 -jar 반드시 admin.jar를 내가 바인딩했을 때, 나는 다음과 같은 오류가 점점 오전 : 다음과 같이 명령을 실행하기 전에독립형 oc4j에 배치 할 수 없습니다.
C:\oracle\JDEV2\j2ee\home>java -jar admin.jar ormi://127.0.0.1:22667 oc4jadmin w
elcome -bindWebApp appr_ear appr default-web-site appr
Jul 24, 2012 10:45:31 AM oracle.j2ee.rmi.RMIMessages EXCEPTION_ORIGINATES_FROM_T
HE_REMOTE_SERVER
WARNING: Exception returned by remote server: {0}
java.lang.ExceptionInInitializerError
at org.apache.tiles.factory.TilesContainerFactory.createTilesContainer(T
ilesContainerFactory.java:197)
at org.apache.tiles.factory.TilesContainerFactory.createContainer(TilesC
ontainerFactory.java:163)
at org.apache.tiles.web.startup.TilesListener.createContainer(TilesListe
ner.java:90)
at org.apache.struts2.tiles.StrutsTilesListener.createContainer(StrutsTi
lesListener.java:66)
at org.apache.tiles.web.startup.TilesListener.contextInitialized(TilesLi
stener.java:57)
at com.evermind.server.http.HttpApplication.initDynamic(HttpApplication.
java:1140)
at com.evermind.server.http.HttpApplication.<init>(HttpApplication.java:
741)
at com.evermind.server.ApplicationStateRunning.getHttpApplication(Applic
ationStateRunning.java:431)
at com.evermind.server.Application.getHttpApplication(Application.java:5
86)
at com.evermind.server.http.HttpSite$HttpApplicationRunTimeReference.cre
ateHttpApplicationFromReference(HttpSite.java:1987)
at com.evermind.server.http.HttpSite$HttpApplicationRunTimeReference.<in
it>(HttpSite.java:1906)
at com.evermind.server.http.HttpSite.addHttpApplication(HttpSite.java:16
03)
at oracle.oc4j.admin.internal.WebApplicationBinder.bindWebApp(WebApplica
tionBinder.java:302)
at com.evermind.server.administration.DefaultApplicationServerAdministra
tor.bindWebApp(DefaultApplicationServerAdministrator.java:424)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
sorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at com.evermind.server.rmi.RmiMethodCall.run(RmiMethodCall.java:53)
at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(Relea
sableResourcePooledExecutor.java:303)
at java.lang.Thread.run(Thread.java:595)
Caused by: org.apache.commons.logging.LogConfigurationException: org.apache.comm
ons.logging.LogConfigurationException: No suitable Log constructor [Ljava.lang.C
lass;@72e694 for org.apache.commons.logging.impl.Log4JLogger (Caused by java.lan
g.NoClassDefFoundError: org/apache/log4j/Category) (Caused by org.apache.commons
.logging.LogConfigurationException: No suitable Log constructor [Ljava.lang.Clas
s;@72e694 for org.apache.commons.logging.impl.Log4JLogger (Caused by java.lang.N
oClassDefFoundError: org/apache/log4j/Category))
at org.apache.commons.logging.impl.LogFactoryImpl.newInstance(LogFactory
Impl.java:543)
at org.apache.commons.logging.impl.LogFactoryImpl.getInstance(LogFactory
Impl.java:235)
at org.apache.commons.logging.impl.LogFactoryImpl.getInstance(LogFactory
Impl.java:209)
at org.apache.commons.logging.LogFactory.getLog(LogFactory.java:351)
at org.apache.tiles.impl.BasicTilesContainer.<clinit>(BasicTilesContaine
r.java:78)
... 21 more
Caused by: org.apache.commons.logging.LogConfigurationException: No suitable Log
constructor [Ljava.lang.Class;@72e694 for org.apache.commons.logging.impl.Log4J
Logger (Caused by java.lang.NoClassDefFoundError: org/apache/log4j/Category)
at org.apache.commons.logging.impl.LogFactoryImpl.getLogConstructor(LogF
actoryImpl.java:413)
at org.apache.commons.logging.impl.LogFactoryImpl.newInstance(LogFactory
Impl.java:529)
... 25 more
Caused by: java.lang.NoClassDefFoundError: org/apache/log4j/Category
at java.lang.Class.getDeclaredConstructors0(Native Method)
at java.lang.Class.privateGetDeclaredConstructors(Class.java:2328)
at java.lang.Class.getConstructor0(Class.java:2640)
at java.lang.Class.getConstructor(Class.java:1629)
at org.apache.commons.logging.impl.LogFactoryImpl.getLogConstructor(LogF
actoryImpl.java:410)
... 26 more
Error: null
을, 내가 배포하는 시도 ormi : //127.0.0.1 : 22667 oc4jadmin w elcome -deploy -file C : \ RTTTLea \ dist \ appr.ear -deploymentName appr_ear
그리고 배포가 성공적으로 완료되었습니다.
[ 2012-07-24 10:49:40.170 EDT ] Application Deployer for appr_ear STARTS.
[ 2012-07-24 10:49:40.170 EDT ] Stopping application : appr_ear
[ 2012-07-24 10:49:40.201 EDT ] Stopped application : appr_ear
[ 2012-07-24 10:49:40.201 EDT ] Undeploy previous deployment
[ 2012-07-24 10:49:40.935 EDT ] Initialize C:\oracle\JDEV2\jdev\extensions\oracl
e.adfp.seededoc4j.10.1.3\j2ee\home\applications\appr_ear.ear begins...
[ 2012-07-24 10:49:44.326 EDT ] Initialize C:\oracle\JDEV2\jdev\extensions\oracl
e.adfp.seededoc4j.10.1.3\j2ee\home\applications\appr_ear.ear ends...
[ 2012-07-24 10:49:44.326 EDT ] Starting application : appr_ear
[ 2012-07-24 10:49:44.326 EDT ] Initializing ClassLoader(s)
[ 2012-07-24 10:49:44.326 EDT ] Initializing EJB container
[ 2012-07-24 10:49:44.326 EDT ] Loading connector(s)
[ 2012-07-24 10:49:44.342 EDT ] Starting up resource adapters
[ 2012-07-24 10:49:44.342 EDT ] Initializing EJB sessions
[ 2012-07-24 10:49:44.342 EDT ] Committing ClassLoader(s)
[ 2012-07-24 10:49:44.342 EDT ] Initialize appr begins...
[ 2012-07-24 10:49:44.357 EDT ] Initialize appr ends...
[ 2012-07-24 10:49:44.357 EDT ] Started application : appr_ear
[ 2012-07-24 10:49:44.357 EDT ] Application Deployer for appr_ear COMPLETES. Ope
ration time: 4187 msecs
또한 배포 한 후보기 -> 연결 -> 응용 프로그램 서버의 응용 프로그램 목록에서 내 응용 프로그램을 볼 수 있습니다. 즉, 배포가 성공적으로 수행되었습니다. 이제 홈페이지를 열어 확인하고 싶습니다.
일반적으로 CLI를 사용하여 배포하지는 않지만 별도의 단계로 바인딩 할 필요는 없습니다. 또는 server.xml에 application-auto-deploy-directory 폴더를 정의하고이를 사용할 수도 있습니다. – wytten
https://forums.oracle.com/forums/thread.jspa?messageID=1763496 "EM Console을 사용하여 응용 프로그램을 배포하고 공유 라이브러리를 선택 취소하면 모든 것이 잘 작동합니다." HTH – wytten
네, 그게 제가 한 일입니다. em을 통해 배포하고 빌드하기 전에 jdev의 라이브러리를 선택 취소했습니다. 나는 EM을 시작할 수 있기 전에 이것을 할 수 없었다. 아마도 jdev와 함께 제공되는 독립형 oc4j에는 EM이 없습니다. 그래서 나는 oc4j의 새로운 복사본을 다운로드했다. – Rpant