Avatar billede br_it-mark Nybegynder
04. december 2003 - 10:14 Der er 13 kommentarer

Webapp køre ikke på nyere tomcat4 + jdk

Hejsa,

Efter et par IBM diske stod af, blev vi nød til at flytte 2 jsp projekter til en ny installeret maskine.
Desværre køre projekterne ikke mere, på den nye maskine.

Jeg har ikke selv nogen praktisk erfaring med jsp, jeg skal blot have projekterne til at køre igen! :)

Det første projekt kan i se på:
http://www.it-mark.dk/shareit/
Bruger: eksperten
Kodeord: eksperten

Om maskinen kan jeg fortælle at det er en debian sarge,
kerne: 2.4.23rc5, med tomcat4.0.4, jdk1.4.1_06 og mysql 4.0.16.

Maskinen projekterne kom fra var en ældre redhat, med en blanding af tomcat4.0.1 og tomcat4.0.4, samt jdk1.4.0.
Dette kan sikkert bidrage til problemerne, da den gamle installation var meget forvirrende og rodet. Det kan sagtens være at jeg ikke har fået det hele, eller det rigtige med under flytningen. Det skal dog siges at der er backup af de fleste filer fra den gamle installation.

Der er desuden disse info/fejl i:
/usr/share/tomcat4/logs/localhost_2003-12-04 09:11:03
----

IMPORTANT: Do not modify the generated servlets
2003-12-04 09:11:03 StandardHost[localhost]: Installing web application at context path /shareit from URL file:/var/lib/tomcat4/webapps/shareit
2003-12-04 09:11:03 WebappLoader[/shareit]: Deploying class repositories to work directory /usr/share/tomcat4/work/Standalone/localhost/shareit
2003-12-04 09:11:03 WebappLoader[/shareit]: Deploy JAR /WEB-INF/lib/common.jar to /var/lib/tomcat4/webapps/shareit/WEB-INF/lib/common.jar
2003-12-04 09:11:03 WebappLoader[/shareit]: Deploy JAR /WEB-INF/lib/servlet.jar to /var/lib/tomcat4/webapps/shareit/WEB-INF/lib/servlet.jar
2003-12-04 09:11:03 WebappLoader[/shareit]: Deploy JAR /WEB-INF/lib/struts.jar to /var/lib/tomcat4/webapps/shareit/WEB-INF/lib/struts.jar
2003-12-04 09:11:03 StandardManager[/shareit]: Seeding random number generator class java.security.SecureRandom
2003-12-04 09:11:03 StandardManager[/shareit]: Seeding of random number generator has been completed
2003-12-04 09:11:05 ContextConfig[/shareit]: Added certificates -> request attribute Valve
2003-12-04 09:11:05 ContextConfig[/shareit]: Configured an authenticator for method FORM
2003-12-04 09:11:05 StandardWrapper[/shareit:default]: Loading container servlet default
2003-12-04 09:11:05 default: init
2003-12-04 09:11:05 StandardWrapper[/shareit:action]: Marking servlet action as unavailable
2003-12-04 09:11:05 StandardContext[/shareit]: Servlet /shareit threw load() exception

javax.servlet.ServletException: Error instantiating servlet class org.apache.struts.action.ActionServlet
        at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:895)
        at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:810)
        at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:3279)
        at org.apache.catalina.core.StandardContext.start(StandardContext.java:3421)
        at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:785)
        at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:478)
        at org.apache.catalina.core.StandardHost.install(StandardHost.java:738)
        at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:300)
        at org.apache.catalina.startup.HostConfig.start(HostConfig.java:389)
        at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:232)
        at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:155)
        at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1131)
        at org.apache.catalina.core.StandardHost.start(StandardHost.java:638)
        at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1123)
        at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:343)
        at org.apache.catalina.core.StandardService.start(StandardService.java:388)
        at org.apache.catalina.core.StandardServer.start(StandardServer.java:506)
        at org.apache.catalina.startup.Catalina.start(Catalina.java:781)
        at org.apache.catalina.startup.Catalina.execute(Catalina.java:681)
        at org.apache.catalina.startup.Catalina.process(Catalina.java:179)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:324)
        at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:243)

----- Root Cause -----
java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory
        at org.apache.struts.action.ActionServlet.<clinit>(ActionServlet.java:375)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
        at java.lang.reflect.Constructor.newInstance(Constructor.java:274)
        at java.lang.Class.newInstance0(Class.java:306)
        at java.lang.Class.newInstance(Class.java:259)
        at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:886)
        at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:810)
        at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:3279)
        at org.apache.catalina.core.StandardContext.start(StandardContext.java:3421)
        at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:785)
        at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:478)
        at org.apache.catalina.core.StandardHost.install(StandardHost.java:738)
        at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:300)
        at org.apache.catalina.startup.HostConfig.start(HostConfig.java:389)
        at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:232)
        at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:155)
        at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1131)
        at org.apache.catalina.core.StandardHost.start(StandardHost.java:638)
        at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1123)
        at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:343)
        at org.apache.catalina.core.StandardService.start(StandardService.java:388)
        at org.apache.catalina.core.StandardServer.start(StandardServer.java:506)
        at org.apache.catalina.startup.Catalina.start(Catalina.java:781)
        at org.apache.catalina.startup.Catalina.execute(Catalina.java:681)
        at org.apache.catalina.startup.Catalina.process(Catalina.java:179)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:324)
        at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:243)
----

Jeg håber i vil kigge forbi på adressen og forsøge at logge ind, forhåbentligt er der nogen der ved hvorfor det ikke køre. Jeg vil oprette et andet spørgsmål, hvis dette kan besvares, angående det andet projekt, som også har problemer dog af en anden art, det køre faktisk til dels... :)

Mvh; Brian.
Avatar billede arne_v Ekspert
04. december 2003 - 11:53 #1
Der mangler Apache Common Logging !
Avatar billede arne_v Ekspert
04. december 2003 - 11:55 #2
Den hedder commons-logging.jar og hvis du mangler den kan den downloades
her:

http://jakarta.apache.org/commons/logging.html
Avatar billede br_it-mark Nybegynder
04. december 2003 - 12:17 #3
/usr/share/tomcat4/server/lib/commons-logging.jar

Hvorfra læser du at den mangler commons-logging?
Jeg må indrømme at de debug info får jeg ikke meget udaf selv
Avatar billede arne_v Ekspert
04. december 2003 - 12:33 #4
java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory
       
er ret tydelig !
Avatar billede br_it-mark Nybegynder
04. december 2003 - 12:49 #5
jeg har installeret commons-logging.jar fra jakarta.apache.org
under /usr/share/tomcat4/server/lib samt
/usr/share/tomcat4/webapps/shareit/WEB-INF
det hjalp ikke, en noClassDefFoundError fejl, er noget med at den ikke kan finde det søgte i de stier den leder i, korrekt?
Avatar billede arne_v Ekspert
04. december 2003 - 13:07 #6
Ja.

/usr/share/tomcat4/webapps/shareit/WEB-INF
skal vel være
/usr/share/tomcat4/webapps/shareit/WEB-INF/lib
Avatar billede br_it-mark Nybegynder
04. december 2003 - 17:27 #7
Okay Arne,
nu har jeg flyttede den til lib:
2003-12-04 17:24:03 WebappLoader[/shareit]: Deploy JAR /WEB-INF/lib/commons-logging.jar to /var/lib/tomcat4/webapps/shareit/WEB-INF/lib/commons-logging.jar

Så ændre fejl beskeden sig lidt i loggen:
----- Root Cause -----
java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory
        at org.apache.struts.action.ActionServlet.<clinit>(ActionServlet.java:375)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
        at java.lang.reflect.Constructor.newInstance(Constructor.java:274)
        at java.lang.Class.newInstance0(Class.java:306)
        at java.lang.Class.newInstance(Class.java:259)
Avatar billede arne_v Ekspert
04. december 2003 - 18:13 #8
Forskellen ser ret ens ud for mig.

:-(
Avatar billede br_it-mark Nybegynder
04. december 2003 - 19:34 #9
Næ, du har ret. Jeg så forkert. Eller nok nærmere, jeg så noget der ikke var der. :-(
Avatar billede arne_v Ekspert
04. december 2003 - 21:09 #10
Mystisk din Struts ActionServlet skal bruge den, den er der, men kan
ikke findes alligevel.
Avatar billede arne_v Ekspert
04. december 2003 - 21:10 #11
Har du prøvet at smide den i common/lib ?
Avatar billede soelvpil Nybegynder
08. december 2003 - 15:33 #12
jar-filer der ligger i server/lib er IKKE tilgængelige for de enkelte webapplikationer, men kun for serveren selv. Relevante jar-filer skal ligge enten under webapplikationen, eller under common/lib.

Har du prøvet at åbne jar-filen (med zip) og checket, at klassen findes i den? I nogle releases af commons-logging er der faktisk 2 jar-filer, nemlig en commons-logging.jar (implementationen) og commons-logging-api (interrfacet), så måske er problemet, at du skal have en jarfil mere.
Avatar billede br_it-mark Nybegynder
08. december 2003 - 17:46 #13
soelvpil,

Jeg har bemærket api filen, i tar filen fra jakarta.apache.org, jeg vil forsøge at kopiere fil til de nævnte foldere.
Jeg har dog bemærket at den version af ShareIT der er tilgængelig for jer, er en intern applikation. Det kan du se i titlen på .jsp siden. Der findes en anden version, som jeg først skal have gjordt tilgængelig, i stedet for den interne. Jeg vender tilbage når dette er gjordt.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester