Domanda

(Eclissi 3.4, Ganimede)

Ho un progetto di applicazione Web dinamica esistente in Eclipse.Quando ho creato il progetto, ho specificato "Configurazione predefinita per Apache Tomcat v6" nel menu a discesa "Configurazione".

Mancano un mese o due e ora vorrei modificare la configurazione in Tomcat "v5.5".(Questa sarà la versione di Tomcat sul server di produzione.)

Ho provato i seguenti passaggi (senza successo):

  • Ho selezionato Targeted Runtimes nell'ambito del Progetto Properties
    IL Tomcat v5.5 l'opzione era disabilitata e l'interfaccia utente mostrava questo messaggio:
    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.
  • Ho quindi cliccato su Uninstall Facets... collegamento.
    Sotto il Runtimes scheda, solo Tomcat 6 visualizzato.
    Per Dynamic Web Module, ho selezionato la versione 2.4 al posto di 2.5.
    Sotto il Runtimes scheda, Tomcat 5.5 ora visualizzato.
    Tuttavia, l'interfaccia utente ora mostrava questo messaggio:
    Cannot change version of project facet Dynamic Web Module to 2.4.
    IL Finish il pulsante era disabilitato, quindi ho raggiunto un vicolo cieco.

POSSO creare con successo un NUOVO progetto con una configurazione Tomcat v5.5.Per qualche ragione, però, non mi permetterà di effettuare il downgrade di un progetto esistente.

Per ovviare al problema, ho creato un nuovo progetto e ho copiato i file sorgente dal vecchio progetto.Tuttavia, la soluzione è stata piuttosto dolorosa e alquanto goffa.

Qualcuno può spiegare come posso eseguire il "downgrade" della configurazione del progetto da "Tomcat 6" a "Tomcat 5"?O forse far luce sul perché è successo?

Grazie
Pietro

È stato utile?

Soluzione

Questo è una specie di hacking Eclipse e potresti avere problemi a farlo, ma dovrebbe funzionare:

Apri la vista navigatore e scopri che c'è una cartella .settings sotto il tuo progetto, espandila e quindi apri il file: org.eclipse.wst.common.project.facet.core.xml dovresti vedere una riga che dice: <installed facet="jst.web" version="2.5"/> Cambialo in 2.4 e salva.

Assicurati solo che il tuo progetto non utilizzi nulla di specifico per 2.5 e dovresti essere bravo.

Controlla anche che il tuo web.xml abbia la configurazione corretta:

<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">

Altri suggerimenti

Potrebbe essere vecchio ma ho provato e ho trovato quanto segue in Eclipse Galilio.

Apri la vista navigatore e scopri che c'è una cartella .settings sotto il tuo progetto, espandila e quindi apri il file:org.eclipse.wst.common.project.facet.core. Elimina il contenuto di questo file e fai clic con il pulsante destro del mouse sul progetto e fai clic su Proprietà.Vai a Project Facats nella finestra popup dove puoi fare clic sulle schede runtime e convertire il tuo progetto nel nuovo facet che desideri.

se stai usando Maven, spegni Eclipse, quindi digita >mvn eclipse:eclipse -Dwtpversion=2.0, e riavviare l'eclissi.

Mi dispiace, sembra che non riesco a pubblicare un commento senza abbastanza Rep, quindi...

Penso che sia troppo difficile per Eclipse degradare in modo sicuro a uno standard inferiore perché non può davvero sapere se hai utilizzato qualcosa dallo standard web più recente.Quindi, se ti consente solo di farlo, il tuo programma potrebbe fallire su una versione precedente.

Puoi sempre essere compatibile con le versioni precedenti ma non compatibile con le versioni successive.

Puoi provare a deselezionare la sfaccettatura, applicare, modificare il valore della sfaccettatura e controllare.Funziona per me in Eclipse Helios SR1.

Quindi la differenza principale è che lo faccio con il "Modulo Web dinamico".

Spero che funzioni anche per te.

Ho visto la stessa cosa, quindi ho modificato il valore della versione dell'app Web nel file web.xml.In questo modo potresti risolvere il problema.

Se stai utilizzando Maven puoi generare le impostazioni di Eclipse utilizzando il plugin Maven Eclipse.

Per la versione jst.web il plug-in Eclipse di Maven tiene conto delle dipendenze del progetto.Se hai definito una dipendenza API servlet:

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

Il tuo parametro jst.web sarà 6.0

<faceted-project>
  ...
  <installed facet="jst.web" version="6.0"/>
  ...
</faceted-project>
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top