Erro no Sistema ao trocar de Eclipse

10 respostas
A

Ola Pessoal Tudo Bem?

Eu estava usando a versao do eclipse3.1 com o WTP e o sistema estava funcionando perfeitamente… estou usando JNDI com POOL conexao… eu migrei meu sistema para o Eclipse 3.2 com plugin amateras e sysdeo… e quando eu vou rodar, olha a msg de erro q da:

org.apache.tomcat.dbcp.dbcp.SQLNestedException: Cannot create JDBC driver of class '' for connect URL 'null'
	org.apache.tomcat.dbcp.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:780)
	org.apache.tomcat.dbcp.dbcp.BasicDataSource.getConnection(BasicDataSource.java:540)
	pool.ConnectionByJNDI.getConnection(ConnectionByJNDI.java:51)
	action.StationAction.selectALL(StationAction.java:118)
	sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	java.lang.reflect.Method.invoke(Method.java:585)
	org.apache.struts.actions.DispatchAction.dispatchMethod(DispatchAction.java:276)
	org.apache.struts.actions.DispatchAction.execute(DispatchAction.java:196)
	org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:421)
	org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:226)
	org.apache.struts.action.ActionServlet.process(ActionServlet.java:1164)
	org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:397)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
	com.opensymphony.module.sitemesh.filter.PageFilter.parsePage(PageFilter.java:118)
	com.opensymphony.module.sitemesh.filter.PageFilter.doFilter(PageFilter.java:52)

Nao sei o que há de errado… sendo que o Tomcat eh o msm… :slight_smile:

Alguem pode me dar uma :idea:

Obrigada Pessoal

:wink:

10 Respostas

andrik

A mensagem que ele está dando é que não tem nada cadastrado onde ele está buscando o DataSource.
dá uma verificada na configuração do Tomcat ou do Contexto, para ver se as informações do DataSource estão lá

[]'s

A

como assim? :slight_smile:

Onde no tomcat??

Obrigada

:wink:

A

No caso eu tenho um context.xml
so uma duvida

<?xml version="1.0" encoding="UTF-8"?>
<Context path="/swb" docBase="swb" debug="5">
.
.
.
.

esse path ai tem que ser o msm que eu defini no context do tomcat (clicando com o botao direito/propriedades/tomcat …)

??
Se for, ja esta com o msm nome e msm assim nao funciona :frowning:

Obrigada + uma vez

:wink:

andrik

bom vamos lá,

O nome do contexto está correto, porém o problema que eu falei é que as informações do DataSource devem estar cadastradas em algum lugar para a aplicação poder recuperar essas informações e permitir que você acesse uma fonte de dados.

Se esse DataSource for utilizado apenas por esse contexto você pode fornecer essa informação nesse arquivo que foi citado, seria algo semelhante a isso:

<Context path="/swb" docBase="swb" debug="5">
  <Resource name="jdbc/TestDB" auth="Container"     type="javax.sql.DataSource"
               maxActive="100" maxIdle="30" maxWait="10000"
               username="javauser" password="javadude"   driverClassName="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost:3306/javatest?autoReconnect=true"/>
</Context>

depois disse você deve cadastrar no arquivo web.xml da sua aplicação:

<resource-ref>
      <description>DB Connection</description>
      <res-ref-name>jdbc/TestDB</res-ref-name>
      <res-type>javax.sql.DataSource</res-type>
      <res-auth>Container</res-auth>
  </resource-ref>

os dados dessa configuração são apenas para ilustrar, uma descricação mais detalhada a respeito de configuração pode ser obtida no site do Tomcat http://tomcat.apache.org/tomcat-5.5-doc/jndi-datasource-examples-howto.html,
no caso eu coloquei a documentação da versão 5.5 do Tomcat, porém vc deve verificar a documentação respectiva da sua versão

[]'s

A

Ola Andrik…

Esta tudo configurado certinhu… como disse funciona na versao Eclipse 3.1 +WTP mudando para o eclipse 3.2 ele bixou… e comecou dar esse problema… :frowning:

Nao sei mais o que fazer … :slight_smile:

Obrigada

:wink:

andrik

o arquivo que vc citou context.xml, está localizado aonde?

A

Dentro de
web->META-INF->context.xml

ja fiz de tudo e nada :frowning:

Obrigado pela força :slight_smile:
:wink:

A

os Meus Arquivos:

context.xml
<?xml version="1.0" encoding="UTF-8"?>
<Context path="/webqc" docBase="webqc" debug="5" reloadable="true" crossContext="true">
<Resource
name="jdbc/teste"
auth="Container"
type="javax.sql.DataSource"
factory="org.apache.tomcat.dbcp.dbcp.BasicDataSourceFactory"
driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost/www?autoRecconect=truet"
username="teste"
password=""
maxActive="20"
maxIdle="10"
maxWait="-1"
removeAbandoned="true"
removeAbandonedTimeout="60"
logAbandoned="true"/>
</Context>


web.xml
.
.
.
.
<resource-ref>
                <description>
                        Conexao POOL
                </description>
                <res-ref-name>jdbc/teste</res-ref-name>
                <res-type>javax.sql.DataSource</res-type>
                <res-auth>Container</res-auth>
                <res-sharing-scope>Unshareable</res-sharing-scope>
        </resource-ref>

.
.

Tah ai… :slight_smile:

e nada :slight_smile:

:wink:

andrik

copia esse arquivo para o diretório CATALINA_HOME*/conf/Catalina/localhost/ e renomeia ele para webqc.xml.

reinicia o tomcat pelo eclipse, utilizando o sysdeo, e tenta acessar a aplicação

  • CATALINA_HOME = Diretório de instalação do Tomcat

obs: no atributo docBase deve ser preenchido o caminho para a sua aplicação, caso ela esteja localizada abaixo do diretório webapps do Tomcat deixe como está, caso contrário coloque o caminho completo da aplicação

[]'s

A

Saudações ao amigo andrik :slight_smile:
Muito Obrigada… funcionou perfeitamente :slight_smile:

Ja estava quase ficando louca aqui…

:wink:

Criado 23 de outubro de 2006
Ultima resposta 24 de out. de 2006
Respostas 10
Participantes 2