[Resolvido] Erro com servidor Glassfish

Quando tento dar deploy em um .war no glass, recebo o seguinte erro:

Error occurred during deployment: Exception while deploying the app [Logistica] : Exception [EclipseLink-4002] (Eclipse Persistence Services - 2.5.0.v20130507-3faac2b): org.eclipse.persistence.exceptions.DatabaseException Internal Exception: java.sql.SQLException: Error in allocating a connection. Cause: Class name is wrong or classpath is not set for : com.mysql.jdbc.jdbc2.optional.MysqlDataSource Error Code: 0. Please see server.log for more details.

Eu tenho esse projeto rodando em outro computador e estou tentando criar um novo para se inserir testes, fiz tudo conforme o outro projeto, mas mesmo assim recebo este erro.

Cheka se o nome da base e o usuário do banco novo está igual ao que está em produção.

Eu tive um problema semelhante uma vez e era o usuário do banco que estava diferente.

Se eu entendi oque você quis dizer, o usuário do meu banco é root e está igual ao que está declarado no servidor.

Isso.

Ex:

Banco em Produção:
Usuário: root Senha:1234 Base:Meu_Banco

Verifica se bate com a base de teste. Caso não terá que configurar uma segunda conexão e setala no projeto dar build e então dar deploy.

Poderia explicar melhor? NĂŁo entendi muito bem.

Seguinte você tem um “Banco de Produção” e um “Banco de Teste”, certo?

Verifica se o usuário que o sistema usa para acessar o Banco de Produção existe no Banco de Teste.

Eu estou criando um servidor apenas local para teste, então eu só criei o banco de dados de produção

Deixa eu ver se entendi.

Você tem 2 servidores? Em máquinas distintas? E uma base de dados só.

Se for o caso verifique a conexão que está configurada em sua aplicação.
Possívelmente ela deve estar definida como localhost e usuário root.

Se for isto, ta aĂ­ o problema.

Primeiro você terá que substituir o localhost pelo IP do servidor que está hospedando o banco de dados.

Segundo se o usuário for root. Você deve criar outro usuário e configura-lo porque no caso do mysql ele só aceita conexões como root se a máquina for host do banco.

Nota: ConexĂŁo com ip 127.0.0.1 Ă© particamente o mesmo que localhost.

NĂŁo, eu tenho 2 servidores em computadores diferentes e uma base de dados paracada um deles em seus respectivos computadores.
E cada um deles está definido no localhost mesmo

Pesquisei sua exceção.

Aparentement está faltando o jar do mysql(Não sei se é mysql seu banco) dentro do glassfish.

Segue o link que li isto.

http://stackoverflow.com/questions/10965926/deploying-to-glassfish-classpath-not-set-for-com-mysql-jdbc-jdbc2-optional-mysql

Mais um link. Este tem o caminho onde deve colacar o jar.

http://stackoverflow.com/questions/16192597/deploying-java-project-to-remote-glassfish-server

1 curtida

Deu certo.
Muito obrigado.

1 curtida

eh nois