Eclipse WTP vs Sydeo, “serve módulos sem publicar”

103

Tenho o problema de encontrar o desempenho do plugin sysdeo usando o plugin integrado WTP do eclipse.

Para fazer a migração e, portanto, a comparação, instalei os dois em projetos separados dentro do eclipse.

Percebi uma diferença de produtividade, pelo que entendi: o WTP precisa publicar os fontes em um diretório build para que o tomcat os tenha à mão. Esse “pulish” é longo: precisa da recarga do contexto para que as modificações sejam visíveis. (5 secar na maioria das jardas 15 seg - 20 seg no mais longo).

Sysdeo não; ele tem como alvo o diretório eclipse, conseqüentemente, build interno no projeto assim que uma modificação é feita por um arquivo, o eclipse build e essas modificações estão disponíveis imediatamente (F5 no navegador e temos o resultado imediatamente).

Aqui está minha configuração de servidor:

A opção "Atende módulos sem publicação" permite fazer exatamente o que faz o sydeo: escolher o diretório de construção do projeto em execução. Esta configuração se expressa no arquivo de contexto. (É para poder recuperá-lo que marquei "Publicar modula contextos para serparar linhas XML")

Comparação desses arquivos:

  • Aqui está o arquivo de contexto a ser gerado pelo sysdeo
< Context path="/tatoile _syseo" reloadable="false" docBase="D:\32bit\serveur32bit\workspace\tatoile _syseo" workDir="D:\32bit\serveur32bit\workspace\tatoile _syseo\work" />
  • O contexto do arquivo a ser gerado pelo WTP

<? xml version = "1.0" encoding = "UTF-8"?> <Context docBase = "D: \ 32bit \ serveur32bit \ workspace \ tatoile \ web" path = "/ tatoile" reloadable = "true" source = "org .eclipse.jst.jee.server: tatoile "> <Resources className =" org.eclipse.jst.server.tomcat.loader.WtpDirContext "extraResourcePaths =" / WEB-INF / classes | D: \ 32bit \ serveur32bit \ workspace \ tatoile \ build \ classes "virtualClasspath =" D: \ 32bit \ serveur32bit \ workspace \ tatoile \ build \ classes "/> <Loader className =" org.eclipse.jst.server.tomcat.loader.WtpWebappLoader "useSystemClassLoaderAsParent =" false " virtualClasspath = "D: \ 32bit \ serveur32bit \ workspace \ tatoile \ build \ classes" /> <JarScanner scanAllDirectories = "true" /> </ Context>

Depois, analise esses dois arquivos é semelhante.

Agora voltemos ao problema. Utilizo o mesmo servidor, conseqüentemente os dois arquivos de contexto acima são definidos para este. Experiência: Eu lanço o tomcat pelo plugin sysdeo, os carregamentos em dois contextos são feitos um para configurar o modo WTP o outro pelo sysdeo. Ambas as autoridades reagem da mesma maneira, as modificações são imediatas em tatoile _syseo e tatoile.

Por outro lado, eu lanço o tomcat através do plugin WTP (tab server etc.) no eclipse, as modificações não são feitas imediatamente em ambos os projetos tatoile _syseo e tatoile. Nota: Auto-reload deve ser necessariamente colocado em Enabled para que as modificações sejam levadas em consideração. (Quando o servidor nos indica que recarregou o contexto, podemos ver as modificações.)

insira a descrição da imagem aqui

Deduzo que daí a configuração dos contextos não é o motivo, mas sim a forma como o plugin inicia o tomcat; e lá ou eu seco ...

Aqui está o projeto WTP:

insira a descrição da imagem aqui

Vsplit
fonte
5
Você tem problemas no Sysdeo ou WTP? OTOH Com certeza, o WTP precisará de mais tempo para alterações, pois é o que ele fará para republicar: (1) criar classes (2) remover o aplicativo da web antigo (3) copiar o resultado da compilação para a pasta de implantação do tomcat (4) o tomcat iniciará automaticamente o aplicativo. Enquanto isso, com o sysdeo, as classes na RAM são modificadas rapidamente assim que houver alterações (identificadas por nova data em quaisquer arquivos de classes). Então existem algumas limitações de mudanças que não podem ser feitas em tempo real (quando você adiciona novos métodos, a estrutura da classe também muda), neste caso irá dar um aviso.
Usei Sysdeo e WTP no mesmo projeto. A diferença mais significativa que notei foi que a configuração do Sysdeo parecia mais fácil para mim, mas isso pode ser tendencioso.
Markus
2
O problema foi resolvido adicionando MAVEN com implantação WTP. Sem problemas de desempenho. Sem problemas de desempenho e não estou ativando "servir módulos sem publicar"
Vsplit
1
Se você resolveu o problema, pode postar uma resposta?
Anubian Noob
@AnubianNoob sim quando eu expliquei em meu post anterior. Resolvi o problema usando a configuração do maven.
Vsplit

Respostas:

3

A resposta citada de @Vsplit

O problema foi resolvido adicionando MAVEN com implantação WTP. Sem problemas de desempenho ... e eu não ativo módulos de serviço sem publicar

Marko
fonte
-1 Isso não é resposta. adicione a resposta com mais detalhes.
Isaac G Sivaa,
1
Olá, desculpe pela minha resposta tardia. Mas, como você deve notar, não consigo resolver o problema do plug-in Sysdeo. Mas estou usando o plugin Maven com WTP de implantação. Você pode ver este exemplo de tutorial youtube.com/watch?v=YeC7XQho-O0
Vsplit
2

procure no mercado de plug-ins por um plug-in gratuito chamado m2e-wtp. Isso cuidará dos problemas de escopo fornecidos. Quanto às classes que não estão sendo implantadas, os locais usuais que observo são o assembly de implantação e / ou o Java Build Path. Certifique-se de que as entradas (e os módulos dependentes) estão todas lá e localizadas no lugar certo.

Shrinidhi Krishnakumar
fonte