Невозможно развернуть на автономный oc4j

Я пытаюсь развернуть ухо на автономном сервере 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

Перед выполнением этой команды я попытался выполнить развертывание следующим образом: C:\oracle\JDEV2\j2ee\home>java -jar admin.jar 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

Также после развертывания я вижу свое приложение в списке приложений в View -> Connections -> Application Server, что означает, что развертывание прошло успешно. Теперь я хочу открыть домашнюю страницу для проверки.


person Rpant    schedule 24.07.2012    source источник
comment
Я обычно не развертываю с помощью CLI, но я не думаю, что вам нужно выполнять привязку как отдельный шаг. В качестве альтернативы вы можете определить папку application-auto-deploy-directory в server.xml и использовать ее.   -  person wytten    schedule 24.07.2012
comment
forums.oracle.com/forums/thread.jspa?messageID=1763496 Если я разверну приложение с помощью консоли EM и сниму отметку с общих библиотек для ведения журналов, все будет работать нормально. ХТН   -  person wytten    schedule 25.07.2012
comment
да, это то, что я сделал ... развернул через em и снял библиотеки в jdev перед сборкой - и это сработало. Я не мог этого сделать раньше, так как мог запустить EM. вероятно, автономный oc4j, который поставляется с jdev, не имеет EM. Итак, я скачал свежую копию oc4j.   -  person Rpant    schedule 26.07.2012


Ответы (1)


java.lang.NoClassDefFoundError: org/apache/log4j/Category, по-видимому, указывает на то, что в вашем файле EAR отсутствует файл jar для log4j или что на вашем сервере установлена ​​неправильная версия log4j.

person Shay Shmeltzer    schedule 24.07.2012