2010-11-24 16 views
7

Ich verwende Tomcat 6.0 und Eclipse 3.0 unter Linux und ich versuche, eine WAR in Tomcat bereitzustellen. Das Problem ist, dass der Server von Eclipse verwaltet wird und ich ein Eclipse-Projekt implementiert habe. Ich habe versucht, die Datei server.xml dann startet Tomcat über Eclipse zu ändern, aber es funktioniert nicht:Bereitstellen einer WAR in Tomcat/Eclipse

kann die Tomcat-Server-Konfiguration auf/Server/Tomcat v6.0 Server auf localhost-config nicht geladen werden. Die Konfiguration ist möglicherweise beschädigt oder unvollständig.

Ich habe versucht, den Krieg im Webapps-Verzeichnis zu extrahieren, aber die Webapp ist immer noch nicht zugänglich.

Was ist die beste Vorgehensweise, um einen Krieg zu implementieren?

Antwort

5

Tomcat verhält sich im Entwicklungs- und Produktionsmodus anders. Wenn Sie Ihre Webapp in Eclipse entwickeln, gibt es keinen Grund, eine WAR-Datei Ihrer Anwendung während der Entwicklung als WAR zu implementieren.

Gehen Sie einfach zur Ansicht "Server" und fügen Sie einen neuen Server hinzu (Sie sollten dies bereits getan haben, da Sie das Dynamic Web-Projekt nicht erstellen konnten). In der Serveransicht sollten Sie den Server sehen, den Sie erstellt haben (Tomcat auf localhost oder etwas Ähnliches), klicken Sie einfach mit der rechten Maustaste darauf und gehen Sie zum Abschnitt Hinzufügen und Entfernen. Hier können Sie die in Eclipse erstellten Dynamic Web-Projekte hinzufügen und entfernen. Sobald Sie Ihr Projekt hinzugefügt haben, müssen Sie lediglich auf die grüne Startschaltfläche in der Serveransicht klicken und Ihre App sollte unter localhost:8080/mycontext verfügbar sein.

Wenn Sie mit dem Erstellen Ihrer App fertig sind, klicken Sie mit der rechten Maustaste auf das Projekt und wählen Sie im Menü die Option Export. Sie sollten in der Lage sein, eine WAR-Datei zu exportieren. Sobald Sie Ihre WAR-Datei haben, können Sie diese auf einer Tomcat-Instanz hochladen und bereitstellen, die NICHT an Eclipse gebunden ist und im Dev-Modus ausgeführt wird.

+5

Ok. Daher kann ich keine WAR auf einem Tomcat im Entwicklungsmodus bereitstellen. Was für eine Schande! –

+0

@lgu: Vielleicht können Sie den Grund erklären, warum Sie das tun wollen. – Luke

+2

Weil ich eine Anwendung erstellt habe, die eine JSON API bereitstellt, die von meiner "Eclipse App" genutzt wird. Ich begegne einer Cross-Domain-Ausnahme, indem ich die Apps auf verschiedenen Servern laufe und ich kann jsonp nicht verwenden. Die Lösung besteht darin, einen lokalen Proxy (nginx ...) zu verwenden, aber das ist etwas übertrieben IMO –

7

Ja, in gewisser Weise können Sie einen Krieg im Dev-Modus bereitstellen.

Ich habe das gleiche Problem.

Ich habe ein Eclipse-Webapp-Projekt, das Eclipse auf eine Instanz von Tomcat ausrichtet, die von Eclipse ausgeführt wird, damit ich das Projekt bearbeiten kann.

Dieses Webprojekt muss Ressourcen verwenden, die von einer anderen Webanwendung veröffentlicht wurden, die in derselben Instanz von Tomcat ausgeführt werden muss. Die andere Webapp ist ein abgeschlossenes Projekt von jemand anderem, also ist es bereits in einer Kriegsform.

Ich musste Datei-> Importieren Sie den Krieg als Eclipse-Projekt und lassen Sie Eclipse es in der gleichen Instanz von Eclipse bereitstellen, um es in der gleichen Instanz von Tomcat, in dem auch meine Webapp ausgeführt wird, auszuführen.

Das Problem ist, dass einige Kriege auf diese Weise funktionieren, andere jedoch nicht, während alle in einem eigenständigen Tomcat einwandfrei funktionieren (gestartet von startup.sh). Ich kann nicht herausfinden warum.

+0

Wie importieren Sie einen Krieg als Projekt? – pmartin8

0

Dies ist alt, aber ist eine der ersten Antworten in der Google-Suche.

Sie können die WAR-Datei importieren:

Ein Webarchiv (WAR-Datei) ist eine tragbare, verpackt Webanwendung , die Sie in Ihren Arbeitsbereich importieren.

Vor dem Importieren einer WAR-Datei, , sollten Sie zuerst feststellen, ob die WAR-Datei die benötigten Java ™ -Quellquellen enthält.Beim Importieren einer WAR-Datei in ein vorhandenes Webprojekt werden die importierten Web Deployment-Deskriptor-Dateien entweder nicht geändert oder durch die in der importierten WAR-Datei enthaltenen Dateien überschrieben, basierend auf Ihrer Antwort auf die zur Verfügung gestellte Eingabeaufforderung . In beiden Fällen stellt diese Aktion nicht eine Zusammenführung der beiden Sätze von Deployment-Deskriptoren.

Um die Webprojekt Ressourcen in einer WAR-Datei in Ihrem Arbeitsbereich zu importieren, führen Sie die folgenden Schritte :

  1. Wählen Sie Datei > Import .
  2. Wählen Sie im Importdialog WAR-Datei und und klicken Sie dann auf Weiter.
  3. Suchen Sie die WAR-Datei, die Sie importieren möchten, mithilfe der Schaltfläche Durchsuchen.
  4. Der Assistent geht davon aus, dass Sie ein neues Webprojekt mit dem gleichen Namen wie die WAR-Datei mit dem Namen erstellen möchten. Wenn Sie diese Auswahl akzeptieren, wird das Projekt mit der gleichen Servlet-Version wie in der WAR-Datei und in am selben Speicherort erstellt. Wenn Sie diese Einstellungen überschreiben möchten, können Sie auf Neu und klicken, um die neuen Einstellungen im Assistenten für dynamische Webprojekte anzugeben.
  5. Klicken Sie auf Fertig stellen, um das Web Projekt zu füllen.

Quelle: http://help.eclipse.org/luna/index.jsp?topic=%2Forg.eclipse.wst.webtools.doc.user%2Ftopics%2Ftwimpwar.html

Verwandte Themen