2009-03-30 6 views
1

Ich habe ein Problem beim Versuch, mein Projekt in JBoss zu implementieren. Die generierte WAR-Datei enthält die Datei servlet.jar, die zu meinen Abhängigkeiten gehört, aber mit den Servlet-Klassen von JBoss in Konflikt steht.Eclipse 3.4 und Jboss-Bereitstellungsproblem:

Error ...servlet.jar) - jar not loaded. See Servlet Spec 2.3, section 9.7.2. Offending class: javax/servlet/Servlet.class 

Ich kann die servlet.jar aus der WAR-Datei entfernen, wenn eine Ameisen-Build ausgeführt wird. Es entfaltet sich und funktioniert gut.

Was ich tun möchte, ist Eclipse zu sagen, nicht die servlet.jar in der WAR-Datei zu implementieren. Wie mache ich das?

Versionen: Eclipse-3.4 Jboss 4.2

Vielen Dank im Voraus.

Antwort

2

Um die primäre Frage zu beantworten, wie vermieden werden kann, dass die Servlet.jar in der WAR-Datei gebündelt wird, sollten Sie die Abhängigkeit der Webbibliothek von der Datei servlet.jar aufheben. Dies kann über die Projekteigenschaften -> Java EE Modul Abhängigkeiten -> Web-Bibliotheken; Das Deaktivieren der Abhängigkeiten auf dieser Seite verhindert, dass sie im WEB-INF \ lib-Verzeichnis der WAR-Datei angezeigt werden.

Als Nebenbemerkung würde ich die Verwendung der JBoss-Laufzeitbibliothek als Server-Runtime empfehlen, anstatt die servlet.jar und andere Java EE-JARs in den Java- Build- und -Klassenpfad einzubetten. Obwohl ich es nicht benutzt habe, wird die JBoss Tools wahrscheinlich Ihre Erfahrung in dieser Hinsicht erleichtern.

+0

Danke Vineet, Problem gelöst. – pribeiro

+0

Gern geschehen :) –

0

Wo fügen Sie das servlet.jar hinzu? Es sollte nur eine Abhängigkeit von einem externen Speicherort in Ihrem Projekt sein. Dann würde es nur zur Erstellungszeit verwendet werden.

Sie sollten auch sicherstellen, dass Sie dieses Glas nicht aus der Registerkarte Bestellung und Export in der Build-Konfiguration exportieren.

Verwandte Themen