Tomcat pelo eclipse

Galera é o seguinte. Se eu inicio o tomcat pelo startup.bat acesso aplicação e navego normalmente. Porém, se inicializo pelo eclipse com aquele plugin default eu acesso aplicação mas quando vou fazer o login apresenta o erro:

alguém pode me ajudar ?

Opa,

Tem problema com as libs, qual versão do java você pelo eclipse? é a mesma que fora do eclipse?
Qual plugin você se refere?

Tente criar um novo server na view “servers” e adicione seu projeto ali, e ai tente iniciar para ver o que acontece.

[quote=luiscolling]Opa,

Tem problema com as libs, qual versão do java você pelo eclipse? é a mesma que fora do eclipse?
Qual plugin você se refere?

Tente criar um novo server na view “servers” e adicione seu projeto ali, e ai tente iniciar para ver o que acontece.[/quote]

Então cara…Essse projeto ele utiliza ant. Não consigo adicionar um projeto dentro do eclipse.

Então eu faço o seguinte:

1- Gero ear e coloco dentro da pasta de deploy do jboss.

2- No tomcat não gero nada. Dentro de: C:\tomcat\conf\Catalina\localhost tem um arquivo nomeprojeto.xml que tem uma tag context que direciona para o projeto web.

jdk: 1.4
plugin tomcat é aquele que vem de fabrica do eclipse mesmo.

Notei também que dentro da pasta bin do tomcat tem um arquivo setclasspathnomprojeto.bat, lá tem todos os caminhos dos jars.

será que quando eu inicio pelo eclipse ele não executa esse arquivo ?

Aqui eu uso Tomcat 5.5 com jdk 1.4 e para funcionar o Tomcat foi necessário adicionar os arquivos xercesImpl.jar e xml-apis.jar nas libs da instalação do Tomcat.

Talvez seja isso para você.

[quote=luiscolling]Aqui eu uso Tomcat 5.5 com jdk 1.4 e para funcionar o Tomcat foi necessário adicionar os arquivos xercesImpl.jar e xml-apis.jar nas libs da instalação do Tomcat.

Talvez seja isso para você.[/quote]

Bom pode até ser mas porque então ele funciona quando inicio por fora…Essa bliotecas são especificas para o tomcat ser iniciado dentro do eclipse ?:

Fiz um teste aqui pra confirmar, apesar de ser essa a informação que me passaram se eu tiro essar .jar dali funciona tudo.

Mas então, acho que é alguma coisa com jdk 1.4.

Quando eu faço o build pelo ant aqui no xml tem esse parametro:

Eu executo o ant por um plugin no Eclipse, então já tenho o projeto na IDE, nas propriedades do projeto passei tudo pra compilar e executar, inclusive executar o tomcat para 1.4.
Confere se em “Window/Preferences/Server/Installed Runtimes/” se entrar no edit do seu tomcat esta para usar j2sdk1.4.2_19 aqui esta assim.

Deixa eu tentar explicar o que está acontecendo:

jdk configurado: 1.4
eclipse: galileo

diretório projeto: c:\Projetos\sistema
workspace: c:\java\workspace\

projeto “sistema” está importado.

adicionado servers: tomcat e jboss.

jboss: ok;

configuração tomcat:

local instalação: c:\tomcat

arquivos adicionados em c:\tomcat\bin:

setsistemaClasspath.bat
setauxiliarClasspath.bat

arquivos adicionados em C:\tomcat\conf\Catalina\localhost

sistema.xml

<!--
    Context configuration file for the Tomcat Foton Web App
-->

<Context path="/sistema" docBase="C:\Projetos\sistema"
        debug="5" reloadable="true">

<Logger className="org.apache.catalina.logger.SystemOutLogger" verbosity="4" timestamp="true"/>
	
<Resource name="jdbc/Database" auth="Container" type="javax.sql.DataSource" scope="Shareable" />

   <ResourceParams name="jdbc/Database">
      <parameter>
         <name>factory</name>

         <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
      </parameter>


      <parameter>
         <name>driverClassName</name>

         <value>oracle.jdbc.driver.OracleDriver</value>
      </parameter>

      <parameter>
         <name>url</name>
         <!-- -->
		 <value>jdbc:oracle:thin:@10.4.8.4:1544:fepp1</value> 
		  <!-- -->
         <!-- 
			<value>jdbc:oracle:thin:@hematita:1521:DES01</value>
		  -->
      </parameter>


      <parameter>
         <name>username</name>
         <value>wvbasa</value>
      </parameter>

      <parameter>
         <name>password</name>
         <value>wvbasa</value>
      </parameter>

      <parameter>
         <name>maxActive</name>

         <value>10</value>
      </parameter>

      <parameter>
         <name>maxIdle</name>

         <value>10</value>
      </parameter>

      <parameter>
         <name>maxWait</name>

         <value>100</value>
      </parameter>
   </ResourceParams>

</Context>

Inicializado o jboss pelo eclipse : ok

Se inicializo o tomcat pelo startup.bat -> acesso e utilizo a aplicação normalmente.

Se inicializo o tomcat pelo eclipse -> acesso a pagina inicial da aplicação mas quando vou realizar um login me retorna o erro:

O problema está quando inicializo pelo eclipse o tomcat usando aquele server da apache que vem no próprio eclipse.

O que pode ser ?

Ainda não consegui resolver o problema. Quem puder me ajudar agradeço.

Vamos tentar denovo… só pra confirmar que estou entendendo o que você esta fazendo.

O server que você fala é ali na view “servers” é isso certo?
Se você entrar em “Window/Preferences/Server/Installed Runtimes” esta configurado ok ali?
Se você criar um “Dynamic web project” novo e associar a esse server criado consegue acessar ele normalmente?

Você disse que o projeto não esta no Eclipse pq você gera ele com ant, mas você quer inicar o tomcat pelo eclipse iniciando o projeto sem o projeto estar no eclipse, é isso?

Uma alternativa, tenta fazer usando o plugin Sysdeo.

Opa bom dia!

Vamos lá:

O server que você fala é ali na view “servers” é isso certo? sim

Window/Preferences/Server/Installed Runtimes: j2sdk 1.4.2_10;

Você disse que o projeto não esta no Eclipse pq você gera ele com ant, mas você quer inicar o tomcat pelo eclipse iniciando o projeto sem o projeto estar no eclipse, é isso?

Eu importo o projeto para o eclipse. Mas não faço o deploy pelo eclipse. Para o jboss copio ear criado pelo ant e colo na pasta deploy e para o tomcat existe um arquivo configurado apontando para a pasta web onde tem webinf, lib, etc…

Se eu criar um novo projeto consigo usar este mesmo server normalmente.

Tenta adicionar o Server Runtime do Tomcat em propriedades do projeto / Java Build Path / libraries

foi até uma sugestão legal, mas também não funcionou.

Estive verificando q o jar que encapsula a classe não encontrada na aplicação não está dentro da pasta lib da aplicação.

Esse poderia ser problema, mas o problema é que se eu inicio por fora do eclipse, ele funciona.

Bem já estou desistindo desta solução. É raro encontrar um caso igual com o mesmo problema.Como também não tenho conhecimento bom na arquitetura melhor deixar de lado.

É possível adicionar o meu projeto nos servidores para que eles fazem o deploy pelo próprio eclipse ?

Se eu tento fazer isso agora clicando com o botão direito sobre o jboss/tomcat e depois adcionar projeto, apresenta mensagem que não projetos para serem adicionados. Como posso fazer isso ?

Hm… esse projeto não foi importado como um dynamic web project por isso não é possivel adicionar dessa forma.

Se você criar um dynamic poderá ver que se ir em propriedades do projeto poderá acessar Project Facets e lá verá qual a versão do java associada e quo dynamic web module.
Talvez seja possível transfomar esse projeto para dynamic simplesmente olhando as diferenças dentro do diretório “.settings” que o eclipse criar para o projeto.

Mas se você não quiser fazer isso tudo acho que é mais simples instalar o plugin Sysdeo que é possível adicionar um projeto não dynamic por ele.

Esse plugin é bem conhecido, na verdade acho que a maioria de quem usa tomcat no eclipse deve usar esse plugin.

[quote=luiscolling]Hm… esse projeto não foi importado como um dynamic web project por isso não é possivel adicionar dessa forma.

Se você criar um dynamic poderá ver que se ir em propriedades do projeto poderá acessar Project Facets e lá verá qual a versão do java associada e quo dynamic web module.
Talvez seja possível transfomar esse projeto para dynamic simplesmente olhando as diferenças dentro do diretório “.settings” que o eclipse criar para o projeto.

Mas se você não quiser fazer isso tudo acho que é mais simples instalar o plugin Sysdeo que é possível adicionar um projeto não dynamic por ele.

Esse plugin é bem conhecido, na verdade acho que a maioria de quem usa tomcat no eclipse deve usar esse plugin.[/quote]

Bacana, mas por meio desse plugin eu consigo executá-lo em modo debug ?

Consegue sim, depois de você instalar ele poderá configurar em windows/preferences/Tomcat/JVM Settings terá um check box “Don’t run Tomcat in debug mode” acho que é só não marcar ali, que deve ser o padrão.

Jovem instalei o plugin mas o problema persistiu…

Mas matamos uma charada:

Lembra de ter falado sobre dois arquivos .bat dentro pasta c:\tomcat\bin que dentro dele estava configurado os classpaths. Então, adicionando os jars que estão configurados nestes arquivos no classpath do tomcat dentro do eclipse, funcionou. Pelo que eu entendi, esse plugin não executa esses .bat da pasta bin.

Parte do problema foi resolvido, agora queria diminuir o esforço porque ficar adicionando todos esses jars não é uma tarefa muito legal e nem apropriada.

Tem como eu forçar ele executar esses .bat ? Ou configurar de uma maneira que ele reconheça esses jars sem ter que adicioná-los um a um ?

O que tem nesses .bat ?

setsistemaClasspath.bat
setauxiliarClasspath.bat

Você adicionar os .jar ali em windows/preferences/Tomcat/JVM Settings/Classpath é isso?
E se colocar somente o diretório ali não resolve pra você?

dentro desses .bat existe milhares de linhas assim:

Então não é muito legal adicionar tudo isso.

Veja se a minha idéia procede:

Colocar todas as bibliotecas dentro da pasta lib da aplicação e configurar um “build.xml” para geração do arquivo war com ant.