Frage

(Eclipse-3.4, Ganymede)

Ich habe ein vorhandenes dynamische Web Application Projekt in Eclipse. Als ich das Projekt erstellt, I 'Default-Konfiguration für Apache Tomcat v6' angegeben unter 'Konfiguration' drop.

Es ist ein Monat oder 2 auf der ganzen Linie, und ich möchte nun die Konfiguration Tomcat ‚v5.5‘ ändern. (Dies wird die Version von Tomcat auf dem Produktionsserver sein.)

Ich habe die folgenden Schritte versucht (ohne Erfolg):

  • Wie wähle ich Targeted Runtimes unter dem Projekt Properties
    Die Tomcat v5.5 Option wurde deaktiviert und die Benutzeroberfläche angezeigt Diese Nachricht:
    If the runtime you want to select is not displayed or is disabled you may need to uninstall one or more of the currently installed project facets.
  • Ich klickte dann auf dem Uninstall Facets... Link.
    Unter dem Runtimes Registerkarte nur angezeigt Tomcat 6.
    Für Dynamic Web Module, wählte ich Version 2.4 anstelle von 2.5.
    Unter dem Runtimes Registerkarte Tomcat 5.5 nun angezeigt.
    Allerdings zeigte die Benutzeroberfläche jetzt diese Meldung:
    Cannot change version of project facet Dynamic Web Module to 2.4.
    Die Finish Taste wurde deaktiviert -. So kam ich in eine Sackgasse

Ich kann erfolgreich ein neues Projekt mit einem Tomcat v5.5 Konfiguration erstellen. Aus irgendeinem Grund, obwohl werden, es lassen Sie mich ein vorhandenes Projekt nicht degradieren.‘

Als Behelfslösung, habe ich ein neues Projekt und die Quelldateien aus dem alten Projekt kopiert. Dennoch war die Behelfslösung ziemlich schmerzhaft und etwas unbeholfen.

Kann mir jemand erklären, wie ich kann ‚Herabstufung‘ der Projektkonfiguration von ‚Tomcat 6‘ ‚Tomcat 5‘? Oder vielleicht etwas Licht auf, warum dies geschehen?

Danke
Pete

War es hilfreich?

Lösung

Dies ist eine Art von Eclipse Hacking und Sie können in Schwierigkeiten dies zu tun bekommen, aber dies sollte funktionieren:

Öffnen Sie die Navigator-Ansicht und feststellen, dass es ein .settings Ordner unter Ihrem Projekt, um es zu erweitern und dann die Datei öffnen: org.eclipse.wst.common.project.facet.core.xml Sie eine Zeile sehen sollte, der sagt: <installed facet="jst.web" version="2.5"/> Ändern Sie diesen auf 2,4 und speichern.

So stellen Sie sicher, dass Ihr Projekt nicht etwas spezifisch für 2.5 verwenden und Sie sollten gut sein.

Überprüfen Sie auch Ihre web.xml die richtige Konfiguration hat:

<web-app version="2.4" 
        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">

Andere Tipps

Das mag alt sein, aber ich versuchte, und die folgende in Eclipse Galilio gefunden.

der Navigator-Ansicht öffnen und feststellen, dass es ein .settings Ordner unter Ihrem Projekt ist es zu erweitern und dann die Datei öffnen: org.eclipse.wst.common.project.facet.core.Delete den Inhalt dieser Datei und der rechten Maustaste über das Projekt und klicken Sie auf Eigenschaften. Zum Projekt Facats im Popup-Fenster dort können Sie auf Runtime-Tabs klicken und konvertieren Sie Ihr Projekt auf die neue Facette Sie wollen.

, wenn Sie mit Maven, dann Abschaltung Eclipse, dann geben >mvn eclipse:eclipse -Dwtpversion=2.0, und starten Sie den Eclipse.

Leider scheint es, kann ich keinen Kommentar ohne genug Rep veröffentlichen, so ...

Ich denke, es ist zu schwierig für Eclipse sicher zu einem niedrigen Standard zu verschlechtern, weil es nicht wirklich wissen kann, wenn man etwas von dem neueren Web-Standard verwendet hat. Also, wenn es nur ermöglicht es Ihnen, das zu tun, es könnte dazu führen, dass Programm auf einer älteren Version zum Scheitern verurteilt.

Sie können immer rückwärts kompatibel sein, aber nicht vorwärts kompatibel.

Sie können versuchen, die Facette zu deaktivieren, anwenden, um den Wert der Facette ändern und überprüfen. Es funktioniert für mich in Eclipse Helios SR1.

Der Hauptunterschied ist, dass ich es mit ‚Dynamic Web-Modul‘ zu tun.

Ich hoffe, dass es für Sie funktioniert auch.

sah ich die gleiche Sache, dann änderte ich den Web-App-Version Wert im web.xml. Dadurch könnte dieses Problem beheben für Sie.

Wenn Sie Maven verwenden, können Sie die Eclipse-Einstellungen erzeugen die Maven Eclipse-Plugin.

Für die jst.web Version nimmt die Maven Eclipse pluging Berücksichtigung der Abhängigkeiten des Projekts. Wenn Sie ein Servlet api Abhängigkeit definiert haben:

<dependency>
    <groupId>org.apache.tomcat</groupId>
    <artifactId>servlet-api</artifactId>
    <version>6.0.32</version>
</dependency> 

Sie jst.web Parameter wird 6.0

<faceted-project>
  ...
  <installed facet="jst.web" version="6.0"/>
  ...
</faceted-project>
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top