# JDeveloper erstellt ungutes WAR File



## thE_29 (17. Apr 2007)

Also bin gerade mitn JDeveloper am rumfumeln und ich will mir aus einem Webprojekt ein WAR File erstellen, welches ich dann auf einem Tomcat Server raufspiele!

Tjo, wenn ich das raufspiele schreibt mir Tomcat hin: Schwerwiegend: Error listenerStart

In der WEB.xml ist aber kein Listener definiert noch sonstige context Angaben. Nur unter dem JDeveloper internen OC4J Server läuft der ganze Käse!

Wenn ich (spaßhalber) mal den Springlistener reinhänge, zelebrierts den elegant auf  (no na net).

Also irgendwie gehts hier um irgendwelche Listener in der web.xml!

Wenn ich mir aber die Bsp web.xml in den Tomcat Bsp anschaue dann ist dort NIE ein Listener gesetzt (bzw das ganze ist unter Kommentar).

Welchen Listener muss ich wozu setzen?! Das ganze ist ein JSP Projekt mit JSF!


Ich bin schön langsam am verzweifeln, da es eben mit dem OC4J im Jdeveloper läuft und im tomcat nicht..


----------



## zordan (17. Apr 2007)

Hi!

Ich nutze in der Firma auch den JDeveloper für mein JSF Projekt das auf einem Tomcat läuft.
Hab in meiner web.xml neben eigenen Listenern nur den "org.apache.myfaces.webapp.StartupServletContextListener" für MyFaces definiert, ansonsten noch das FacesServlet und spezifische Filter und Mappings.

Erzeuge auch den WAR File direkt über das Deployment Profile und es funktioniert reibungslos.

Gruß Tim


----------



## thE_29 (17. Apr 2007)

Eben nicht!

Es funktioniert gar nix auf dem tomcat ^^

Wenn ich es exportieren lasse gehts nicht, hier meine web.xml:



> <?xml version="1.0" encoding="UTF-8"?>
> <web-app xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd" version="2.4">
> <description>Empty web.xml file for Web Application</description>
> <filter>
> ...



Lasse ich ein WAR File erzeugen kommt beim tomcat das hier:



> C:\Programme\Java\jdk1.5.0_06\bin\javaw -classpath "C:\Programme\JBuilder2005\thirdparty\jakarta-tomcat-5.0.27\bin\bootstrap.jar;C:\Programme\Java\jdk1.5.0_06\lib\tools.jar"  "-Dcatalina.home=C:/Programme/JBuilder2005/thirdparty/jakarta-tomcat-5.0.27"  org.apache.catalina.startup.Bootstrap -config D:\Develop\Kunden\LiveCenter\Apps\JSFTest\Tomcat\conf\server8080.xml start
> 17.04.2007 16:42:41 org.apache.coyote.http11.Http11Protocol init
> 
> INFO: Initializing Coyote HTTP/1.1 on http-8080
> ...



Achja, wenn ich das ganze auf nen Linux tomcat server spiele, kommt das gleiche!

Nur unter dem JDeveloper und dem OC4J Server geht es!!!!!


----------



## KSG9|sebastian (17. Apr 2007)

Welche lib's hast du mit drin? Überprüf mal das Delta vom extrahierten WAR und dem in OC4j-deployten Archiv


----------



## thE_29 (17. Apr 2007)

Delta?!

Ich habe alle libs drinnen, die es gibt  (die ich jemals brauchen könnte und zu 80% nie brauchen werde).



> Verzeichnis von D:\Develop\Kunden\LiveCenter\Apps\JSFTest\WebModule1\WEB-INF\lib
> 
> 17.04.2007  17:01    <DIR>          .
> 17.04.2007  17:01    <DIR>          ..
> ...



Ich will von einer JSP/JSF (bzw eigentlich ADF) Seite auf einen Webservice zugreifen (Spring und XFire Kombination).

Im JDeveloper kriege ich irgendnen Fehler wenn ich den Service instanzieren will (java.lang.NoSuchMethodError: javax.jws.WebService.portName() bekomme ich dort, warum ich immer oder wozu portName auch immer gut sein soll).

Deswegen wollte ich das ganze aus dem JDeveloper raus und in den JBuilder (bzw tomcat standalone) rein und dort probieren.. 

Stattdessen fährt die Instanz dort nie hoch und in keiner Log Datei steht auch nur irgendwas warum nicht..


----------



## zordan (17. Apr 2007)

Hast du auf dem Tomcat denn die ADF Runtime Library installiert?
Hab mal nen Link von Oracle rausgesucht, wo steht wie man den Tomcat konfigurieren muss für ADF Applications.
Deploying ADF Applications


----------



## thE_29 (18. Apr 2007)

So, habe ADF installiert und jetzt kriege ich:

Schwerwiegend: Servlet.service() fro servlet jsp threw exception
javax.servlert.jsp.JspException: Cannot find FacesContext

usw...

Wenn ich die jstl.jar und standard.jar nicht drinnen habe, regt er sich schon bei <f:view> auf, aber das habe ich rausgefunden, das da eben die fehlende standard.jar Library schuld ist!


----------



## thE_29 (18. Apr 2007)

Das kriege ich im JBuilder wenn ich das war File importiere und via tomcat laufen lasse:



> StandardWrapperValve[jsp]: Servlet.service() for servlet jsp threw exception
> 
> javax.servlet.jsp.JspException: Cannot find FacesContext
> 
> ...



Immerhin fährt er jetzt schon mal hoch


----------



## KSG9|sebastian (18. Apr 2007)

das FacesServlet wird sauber geladen?


----------



## thE_29 (18. Apr 2007)

Tjojo 

Man darf halt nicht server/webapp/index.jspx sagen, sondern server/webapp/faces/index.jspx dann klappt das auch!

Also das Tomcat Problem habe ich gelöst 

Problem ist wenn ich unter dem JDeveloper/OC4J auf einen XFire Webservice zugreife kriege ich das hier:


> Caused by: javax.faces.el.EvaluationException: Error getting property 'list' from bean of type at.dstore.jsf.data.BranchList: java.lang.NoSuchMethodError: javax.jws.WebService.portName()Ljava/lang/String;	at com.sun.faces.el.PropertyResolverImpl.getValue(PropertyResolverImpl.java:109)	at com.sun.faces.el.impl.ArraySuffix.evaluate(ArraySuffix.java:187)	at com.sun.faces.el.impl.ComplexValue.evaluate(ComplexValue.java:171)	at com.sun.faces.el.impl.ExpressionEvaluatorImpl.evaluate(ExpressionEvaluatorImpl.java:263)	at com.sun.faces.el.ValueBindingImpl.getValue(ValueBindingImpl.java:160)	... 45 moreCaused by: java.lang.NoSuchMethodError: javax.jws.WebService.portName()Ljava/lang/String;	at org.codehaus.xfire.annotations.jsr181.Jsr181WebAnnotations.getWebServiceAnnotation(Jsr181WebAnnotations.java:55)	at org.codehaus.xfire.annotations.AnnotationServiceFactory.create(AnnotationServiceFactory.java:173)	at org.codehaus.xfire.service.binding.ObjectServiceFactory.create(ObjectServiceFactory.java:356)	at org.codehaus.xfire.service.binding.ObjectServiceFactory.create(ObjectServiceFactory.java:337)	at at.dstore.live.MiddleWare.obtainServiceFromServer(MiddleWare.java:164)	at at.dstore.live.MiddleWare.getUserService(MiddleWare.java:144)	at at.dstore.jsf.data.BranchList.getBranches(BranchList.java:38)	at at.dstore.jsf.data.BranchList.getList(BranchList.java:73)	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:585)	at com.sun.faces.el.PropertyResolverImpl.getValue(PropertyResolverImpl.java:99)



Das was da steht, habe ich auch schon ausprobiert.. http://www.jivesoftware.com/issues/browse/CS-453

Es ist halt doof, das ich jedesmal fürn tomcat deployen muss und dort erst testen kann, weil ich ja für das ganze hier den JDeveloper nutze.. (im Tomcat kommt der Fehler nämlich NICHT!)


----------

