Eclipse - Como posso alterar um Projecto de "Faceta" de Tomcat 6 para o Tomcat 5.5?
Pergunta
(Eclipse 3.4, Ganimedes)
Eu tenho um Dinâmico existente projecto de Aplicação Web no Eclipse.Quando eu criei o projeto, eu especificado 'configuração Padrão do Apache Tomcat v6' em 'Configuração' suspenso.
É um mês ou 2 para baixo da linha, e agora gostaria de alterar a configuração do Tomcat 'v5.5'.(Esta será a versão do Tomcat no servidor de produção.)
Eu tentei os seguintes passos (sem sucesso):
- Eu selecionado
Targeted Runtimes
no âmbito do ProjectoProperties
OTomcat v5.5
a opção foi desativada e A INTERFACE apresentada esta mensagem:
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.
- Eu, então, clicar no
Uninstall Facets...
o link.
Sob oRuntimes
guia, apenasTomcat 6
exibido.
ParaDynamic Web Module
, Eu selecionado versão2.4
em lugar de2.5
.
Sob oRuntimes
guiaTomcat 5.5
agora apresentados.
No entanto, a INTERFACE agora apresentada esta mensagem:
Cannot change version of project facet Dynamic Web Module to 2.4.
OFinish
botão foi desactivado - então, eu cheguei a um beco sem saída.
Eu POSSO criar com êxito um NOVO Projeto com o Tomcat v5.5 configuração.Por algum motivo, porém, que não me deixa fazer o downgrade' um Projeto existente.
Como alternativa, eu criei um novo Projeto e copiados os arquivos de origem do Projeto antigo.No entanto, a alternativa foi bastante dolorosa e um pouco desajeitado.
Alguém pode explicar como eu posso 'downgrade' o Projeto de configuração do 'Tomcat 6' a 'Tomcat 5'?Ou talvez lançar alguma luz sobre por que isso aconteceu?
Obrigado
Pete
Solução
Este é o tipo de hacking eclipse e você pode entrar em apuros fazendo isso, mas isso deve funcionar:
Abrir o navegador para ver e achar que não é um .configurações de pasta em seu projeto de expandir e, em seguida, abra o arquivo: org.eclipse.wst.common.project.facet.core.xml
você deve ver uma linha que diz:
<installed facet="jst.web" version="2.5"/>
Mudança que, para 2,4 e salvar.
Apenas certifique-se de que o seu projeto não está usando nada específico para o 2.5 e você deve ser bom.
Verifique, também, a sua web.xml tem a configuração correta:
<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">
Outras dicas
Isso pode ser velho, mas eu tentei, e encontrei o seguinte em eclipse Galilio.
Abrir o navegador para ver e achar que não é um .configurações de pasta em seu projeto de expandir e, em seguida, abra o arquivo:org.eclipse.wst.comum.projeto.faceta.núcleo.Exclua o conteúdo deste arquivo e clique direito sobre o projeto e clique em propriedades.Vá para o Projecto Facats na janela pop-up lá, você pode clicar no tempo de execução de guias e converter seu projeto para a nova faceta você deseja.
se você estiver usando o Maven, e de seguida faça shutdown eclipse, em seguida, digite >mvn eclipse:eclipse -Dwtpversion=2.0
, e reinicie o eclipse.
Desculpe, parece que eu não posso postar um comentário sem suficiente Rep assim...
Eu acho que é muito difícil para o eclipse para degradar-se com segurança para um nível inferior, porque ele não pode realmente saber se você já usou algo da mais recente da web padrão.Então, se ele apenas permite que você faz para que isso poderia fazer com que o programa a falhar em uma versão mais antiga.
Você pode sempre ser compatível com versões anteriores, mas não encaminha compatível.
Você pode tentar desmarcar a faceta, aplicar, alterar o valor da faceta e de seleção.Ele trabalha para mim no Eclipse Helios SR1.
Assim, a principal diferença é que eu faço com ele 'Dynamic Web Module'.
Eu espero que funcione para você também.
Eu vi a mesma coisa, então eu mudei o web-app version valor no web.xml
.Isso pode corrigir esse problema para você.
Se você estiver usando o maven, você pode gerado o eclipse configurações usando o maven plugin do eclipse.
Para as tjs.versão web Maven eclipse pluging leva em conta as dependências do projeto.Se você tem um servlet api de dependência definidos :
<dependency>
<groupId>org.apache.tomcat</groupId>
<artifactId>servlet-api</artifactId>
<version>6.0.32</version>
</dependency>
Você tjs.web parâmetro será 6.0
<faceted-project>
...
<installed facet="jst.web" version="6.0"/>
...
</faceted-project>