![]() |
Webanwendung auf Tomcat deployen: Pfadproblem
Hallo liebe Gemeinde,
ich habe eine Webanwendung in Java geschrieben. Ich benutze die Eclipse-IDE mit zugehörigem Tomcat-Plugin. Außerdem arbeite ich mit Hibernate, um meine Objekte zu persistieren. Dazu verwende ich folgenden Code:
Code:
Das funktioniert auch gut solange ich mich über die IDE direkt mit Tomcat über das Plugin verbinde. Packe ich aber nun meine Anwendung in ein War-File und deploye dieses auf einen anderen Tomcat-Server, so erhalte ich die folgende Fehlermeldung:
package de.aol.wfm.hibernate.hibernateUtil;
import org.hibernate.HibernateException; import org.hibernate.Session; import org.hibernate.SessionFactory; import org.hibernate.cfg.Configuration; public class ESDBFactory { private static SessionFactory sf; private static Session session = null; private static String pathToCfgFile = "de\\" + "wfm\\hibernate\\hibernateUtil\\esdb.cfg.xml"; public static synchronized Session getSession() throws HibernateException { if (session==null) { if (sf==null) { sf = new Configuration() .configure(pathToCfgFile). buildSessionFactory(); } } session = sf.openSession(); return session; } }
Code:
Kann mir jemand sagen, wie ich das geradegebogen bekomme, so dass die Anwendung auf beiden Maschinen läuft? Was mache ich falsch?
2006-07-28 10:06:10 StandardWrapperValve[Urlaubsplanung Servlet]: Servlet.service() for servlet Urlaubsplanung Servlet threw exception
javax.faces.FacesException: #{User.doLogin}: javax.faces.el.EvaluationException: org.hibernate.HibernateException: de\wfm\hibernate\hibernateUtil\esdb.cfg.xml not found |
Re: Webanwendung auf Tomcat deployen: Pfadproblem
Hi,
na ja, eigentlich geht doch aus der Exception hervor, dass du offensichtlich ein File nicht korrekt ablegst. Der möchte gerne die Datei de\wfm\hibernate\hibernateUtil\esdb.cfg.xml. Wo liegt denn die esdb.cfg.xml im Moment? Also auf dem Tomcat, auf dem du es probieren möchtest. Kann es sein, dass du die einfach nicht mit in die .war packst? Gruß Der Unwissende |
Re: Webanwendung auf Tomcat deployen: Pfadproblem
Wenn Tomcat so konfiguriert ist, dass Anwendungen vor dem start entpackt werden, sollte es so auch so gehen.
Wenn Anwendungen dagegen direkt aus dem Archiv raus gestartet werden, musst den den Weg gehen, die Dateien direkt als Resourcen aus dem Classpath zu laden. Wie das gemacht wird, findetst du z.B. ![]() |
Re: Webanwendung auf Tomcat deployen: Pfadproblem
Hi Der_Unwissende,
Zitat:
|
Re: Webanwendung auf Tomcat deployen: Pfadproblem
Hi Chewie,
Zitat:
|
Re: Webanwendung auf Tomcat deployen: Pfadproblem
Um zu verifizieren, ob die Dateien entpackt werden, kannst du ja einfach in deinem Webapps-Ordner nachkucken, ob es da einen Ordner gibt mit dem gleichen Namen und Inhalt wie das WAR.
Die Option dazu steht in der globalen server.xml im Host-Element:
XML-Code:
Hier das Attribut unpackWARs.
<Host name="localhost" debug="0" appBase="webapps"
unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false"> Es bietet sich aber generell an, bei Dateien im Classpath immer die Resourcen-Methoden zu benutzen, da du dann unabhängig davon bist, ob alle deine Dateien in einem JAR/WAR liegen oder in Ordnern. Die JVM kümmert sich dann um diesen Unterschied. |
Re: Webanwendung auf Tomcat deployen: Pfadproblem
Hallo Chewie,
klappt ganz wunderbar. Alle weiteren Aktionen und Verbesserungen werde ich als nächstes angehen... Ich danke Dir vielmals. Wie immer warst Du eine große Hilfe! |
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:24 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz