Hallo,
folgende Problematik hat sich aufgetan:
Es soll ein Tomcat auf Debian installiert werden. Darin soll ein Java-Servlet eines Kollegen eingefügt und ausgeführt werden. Jedoch werden beim Versuch, das Servlet zu starten, Fehlermeldungen ausgegeben.
Was bisher gemacht wurde:
1. Debian Lenny installiert
2. Java SDK heruntergeladen, entpackt und nach /opt/jdk1.6.0_16 gelegt
4. Apache-Tomcat 6.0.20 heruntergeladen und nach opt gelegt
6. Ein Script zum Starten, Stoppen und Neustarten von Tomcat geschrieben und nach init.d gelegt und Tomcat gestartet.
7. Tomcat über localhost:8080 aufgerufen ... funktioniert, kann auch auf den Manager zugreifen
8. Die War-Datei des Projektes vom Kollegen deployed
9. Servlet liegt jetzt in /webapps/abc und erscheint in der Application List
10. Zusätzlich eine dazugehörige Ini in /webapps/xyz/WEB-INF/classes/de/abc/def/ghi.ini
11. Erste Ernüchterung, als einige Fehlermeldungen auftauchen (siehe unten beim Ist-Zustand). Kurz: Das Servlet lässt sich nicht starten und spuckt sofort die Fehlermeldung aus.
12. Den Pfad der dazugehörigen Ini im Quellcode angepasst, da diese vorher noch auf Windows angepasst war.
Edit (korrigiert nach erster Antwort):
[JAVA=85]IniReader read = null;
try {
read = new IniReader("opt\\apache-tomcat-6.0.20\\webapps\\xyz\\WEB-INF\\classes\\de\\abc\\def\\ghi.ini");
}[/code]
13. Benötigte jar-Dateien mit rüber genommen.
Ist-Zustand:
Wenn ich das Servlet aufrufen will, bekomme ich immer noch folgende Fehlermeldung:
Leider muss ich zugeben, dass ich keinerlei Vorkenntnisse in diesem Bereich habe und zum ersten Mal damit arbeite.
Ich habe diverse Foren und Seiten durchstöbert, wurde jedoch nicht fündig.
Inzwischen hänge ich an der Sache schon seit 1 Woche und egal wie man es dreht und wendet, bleibt die Fehlermeldung hartnäckig bestehen.
Unsere Programmierer können mir dazu leider auch nicht viel mehr sagen.
Komisch ist ja, dass das Servlet unter einem in Windows installierten Tomcat 6 ohne Murren und Knurren funktioniert.
Gibt es noch markante Unterschiede oder Einstellungen, die man unter Linux beachten sollte?
Habe auch schon aus Verzweiflung einfach mal den kompletten Tomcat-Ordner mit auf meine Debian VM gezogen und alles, bis auf die bin-Dateien genauso wie im Windows-Pendant integriert und jediglich den ini-Pfad angepasst. Jedoch tat sich auch da nichts.
Die Fehlermeldungen blieben bestehen.
Hat zufällig jemand eine Idee oder einen Tipp, was man noch machen könnte, um das Problem beheben und das Servlet fehlerfrei ausführen zu können.
Vielleicht habe ich etwas grundlegend falsch gemacht oder meine Gedanken gehen in die falsche Richtung.
Ich danke euch für eure Bemühungen.
folgende Problematik hat sich aufgetan:
Es soll ein Tomcat auf Debian installiert werden. Darin soll ein Java-Servlet eines Kollegen eingefügt und ausgeführt werden. Jedoch werden beim Versuch, das Servlet zu starten, Fehlermeldungen ausgegeben.
Was bisher gemacht wurde:
1. Debian Lenny installiert
2. Java SDK heruntergeladen, entpackt und nach /opt/jdk1.6.0_16 gelegt
3. den Pfad in /etc/profile angegebenchmod 755 jdk-6u16-linux-i586.bin
./jdk-6u16-linux-i586.bin
mv jdk1.6.0_16 /opt/jdk1.6.0_16
Code:
if [ "`id -u`" -eq 0 ]; then
JAVA_HOME="/opt/jdk1.6.0_16"
PATH="~/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/bin/X11:/usr/games:$JAVA_HOME/bin"
else
JAVA_HOME="/opt/jdk1.6.0_16"
PATH="~/bin:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games:$JAVA_HOME/bin"
fi
5. CATALINA_HOME Variablen in /etc/profile festgelegttar xvfz apache-tomcat-6.0.20.tar.gz
mv apache-tomcat-6.0.20.tar.gz /opt
Code:
if [ "`id -u`" -eq 0 ]; then
JAVA_HOME="/opt/jdk1.6.0_16"
CATALINA_HOME="/opt/apache-tomcat-6.0.20"
PATH="~/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/bin/X11:/usr/games:$JAVA_HOME/bin:$CATALINA_HOME"
else
JAVA_HOME="/opt/jdk1.6.0_16"
CATALINA_HOME="/opt/apache-tomcat-6.0.20"
PATH="~/bin:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games:$JAVA_HOME/bin:$CATALINA_HOME"
fi
7. Tomcat über localhost:8080 aufgerufen ... funktioniert, kann auch auf den Manager zugreifen
8. Die War-Datei des Projektes vom Kollegen deployed
9. Servlet liegt jetzt in /webapps/abc und erscheint in der Application List
10. Zusätzlich eine dazugehörige Ini in /webapps/xyz/WEB-INF/classes/de/abc/def/ghi.ini
11. Erste Ernüchterung, als einige Fehlermeldungen auftauchen (siehe unten beim Ist-Zustand). Kurz: Das Servlet lässt sich nicht starten und spuckt sofort die Fehlermeldung aus.
12. Den Pfad der dazugehörigen Ini im Quellcode angepasst, da diese vorher noch auf Windows angepasst war.
Edit (korrigiert nach erster Antwort):
[JAVA=85]IniReader read = null;
try {
read = new IniReader("opt\\apache-tomcat-6.0.20\\webapps\\xyz\\WEB-INF\\classes\\de\\abc\\def\\ghi.ini");
}[/code]
13. Benötigte jar-Dateien mit rüber genommen.
Ist-Zustand:
Wenn ich das Servlet aufrufen will, bekomme ich immer noch folgende Fehlermeldung:
javax.servlet.ServletException: Servlet.init() for servlet Stativ threw exception
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:849)
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:454)
java.lang.Thread.run(Thread.java:619)
root cause
java.lang.NullPointerException
Stativ.init(Stativ.java:87)
javax.servlet.GenericServlet.init(GenericServlet.java:212)
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:849)
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:454)
java.lang.Thread.run(Thread.java:619)
Leider muss ich zugeben, dass ich keinerlei Vorkenntnisse in diesem Bereich habe und zum ersten Mal damit arbeite.
Ich habe diverse Foren und Seiten durchstöbert, wurde jedoch nicht fündig.
Inzwischen hänge ich an der Sache schon seit 1 Woche und egal wie man es dreht und wendet, bleibt die Fehlermeldung hartnäckig bestehen.
Unsere Programmierer können mir dazu leider auch nicht viel mehr sagen.
Komisch ist ja, dass das Servlet unter einem in Windows installierten Tomcat 6 ohne Murren und Knurren funktioniert.
Gibt es noch markante Unterschiede oder Einstellungen, die man unter Linux beachten sollte?
Habe auch schon aus Verzweiflung einfach mal den kompletten Tomcat-Ordner mit auf meine Debian VM gezogen und alles, bis auf die bin-Dateien genauso wie im Windows-Pendant integriert und jediglich den ini-Pfad angepasst. Jedoch tat sich auch da nichts.
Die Fehlermeldungen blieben bestehen.
Hat zufällig jemand eine Idee oder einen Tipp, was man noch machen könnte, um das Problem beheben und das Servlet fehlerfrei ausführen zu können.
Vielleicht habe ich etwas grundlegend falsch gemacht oder meine Gedanken gehen in die falsche Richtung.
Ich danke euch für eure Bemühungen.
Zuletzt bearbeitet: