Jar nao funciona no Cliente[resolvido]

Sou leigo em Java to começando agora…

Criei uma aplicação para usar internamente na rede da empresa. fiz ela no eclipse usando o mysql e gerei o .jar porem na minha maquina local funciona beleza quando eu levo para um cliente ele nao conecta no servidor que é a minha maquina e nem autentica o usuario.

eu criei o banco fora do localhost com o ip da minha maquina.

Gostaria de ajuda para conectar no banco de dados remoto e saber exatamente o que eu preciso levar para a maquina do cliente sendo uma aplicação que todos terminais acessarão da minha maquina.

Todos os terminais tem permissao de acesso na minha maquina.

Como você criou seu JAR? O JAR do MySQL está no classpath?

Eu criei me jar no Eclipse e o adiciona o jar do mysql no meu classpath, no servidor ele funciona, o problema é para acessar ele fora do servidor!!

qual banco??
faça assim para ver se da algum erro
abra o pronpt de comando e ache o caminho aonde esta o programa e digite

java -jar arquivo.jar 

É uma aplicação desktop ou web? Como os clientes acessam o servidor? Algum erro é lançado?

é um aplicação Desktop,

Executei ela pelo pront na maquina do cliente e quando peço pra autenticar aparece esse erro

Java.lang.ClassNotFoundException: com.mysql.jdbc.Driver

Só que o Driver de conecção do Mysql está no meu projeto no classpath, tanto que no servidor funciona legal so no cliente que nao…

Se esse é o erro, o driver do MySQL não está no classpath do cliente (e se o cliente usa conexão ao BD, o JAR deveria estar no CP).

vixi… tem ctz que aonde poe o ip da maquina não está localhost

public static Connection conectar ()throws Exception { Class.forName("com.mysql.jdbc.Driver"); return DriverManager.getConnection("jdbc:mysql://10.1.182.22:3306/atividades","ativ","1a2b3c"); } public static Statement criarStatement() throws Exception { return conectar().createStatement(); }

esse é o codigo de conexão de uma olhada

[quote=Rodrigoguim]public static Connection conectar ()throws Exception { Class.forName("com.mysql.jdbc.Driver"); return DriverManager.getConnection("jdbc:mysql://10.1.182.22:3306/atividades","ativ","1a2b3c"); } public static Statement criarStatement() throws Exception { return conectar().createStatement(); }

esse é o codigo de conexão de uma olhada[/quote]
E isso roda no cliente?

Justamente esse o problema não roda no cliente na maquina Servidor roda normal

Mas o JAR contendo o driver do MySQL está no classpath do cliente, tudo devidamente configurado?

Até onde eu sei sim está.

O que que eu fiz (nao sei se é o certo), coloquei o jar (mysql-connector-java-3.1.12-bin.jar)
no meu projeto e adicionei ele no meu classpath, nao sei se tem mais alguma configuração…

no mysql… pra dar acesso de outras máquinas… voce tem que mudar o privilégio do usuário para acessar de qualquer maquina

Desculpe a minha ignorancia mais depois de instalado o mysql onde eu mudo essa configurações…

aguardo

no meu eu dei um comando no mysql que resolve…
permite acessar de outras máquinas

eu uso o phpmyadmin para mecher com o mysql… pois vim do php… então veio a facilidade usar esta ferramenta
e testa tambem pra ver se não é o firewall

adiciona la no servidor… mysql 3306

Ola, vc esta tendo esse problema de ClassNotFound prq quando vc utiliza um java -jar a JVM ignora o que esta na sua variável CLASSPATH, ele basta a olhar o classpath que esta configurado no seu arquivo manifest.mf que fica interno do jar.

Vc tem que colocar no seu manifest as dependências do seu jar mas ou menos assim:

Class-Path: servlet.jar infobus.jar acme/beans.jar

http://java.sun.com/developer/Books/javaprogramming/JAR/basics/manifest.html

sacou?

Funcionou!!!

Agradeço Todos que me ajudanram, eu dei uma Organizada no meu MANIFEST.MF… era la mesmo o problema “ovelha”

FUNCIONOU LEGAL, coloquei na class-path todos os jar que eu precisava e coloquei, apasta lib no diretorio do meu .jar principal…

Fica ai a dica…

RESOLVIDO