Arquivos .JAR, ainda nao funcionou

Ola pessoal, fiz varios testes aqui e ainda nao consegui trabalhar com os arquivos .JAR
vou falar o que eu fiz.

criei um package chamado Padrao e dentro dele eu tenho duas classes que eu sempre vou utilizar, que são:
MaxLength( que deixa os caracteres de um JTextField em Maiusculo) e uma outra classe Botoes (onde eu mexo com alguns metodos do JButton), essas classes dentro do package funciona perfeito.
entao o que eu fiz, criei um arquivo .jar do diretorio Padrao
jar -cvf Padrao.jar Padrao
entao ele criou o arquivo .jar compactando o diretorio Padrao, está certo até aqui não é?
Proximo passo foi jogar esse arquivo pra dentro do diretorio /jrel1…/lib/ext, la eu jogos todos os meus .jar , como firebirdsql e outros.
agora eu quero chamar essas classes dentro de uma outra classe que eu estou construindo, entao eu tenteni
import Padrao.;
the import Padrao cannot be resolved
import MaxLength.
;
the import Padrao cannot be resolved

varios modos e nao funcionou…

dentro do Eclipse, fui na parte de Variaveis ClassPath, cirei uma chamado Padrao e coloquei o arquivo padrao e ainda nao funciona…

onde esta meu erro?

Obrigado

Coloque o padrão na classpath e não esqueça de ver se o jar compactou as pastas direitinho abrindo o arquivo com um descompactador.

mas jogando dentro do /lib/ext nao fica como um classpath?

e outra, eu tentei dois jeitos
primeiro colocando o Padrao dentro de outro diretorio Padrao e dentro as duas classes
e depois colocando apensa o diretorio Padrao e as duas classes dentro
e mesmo assim nao funcionou ainda

Primeiro: o correto colocar os teus JARs no Classpath, e nao no diretorio de libs do Java. Quando voce precisar mudar a aplicacao de um lugar para o outro, vai se matar copiando tudo no braco.

Segundo: Como ficou meio confuso a tua explicacao, basicamente eh assim:

// Arquivo /home/fulano/MeuProjeto/padrao/ClasseUm.java
package padrao;

public class ClasseUm {
    ...
}
// Arquivo /home/fulano/MeuProjeto/padrao/ClasseDois.java
package padrao;

public class ClasseDois {
    ...
}

Compile. Voce tera os .class dentro do diretorio “Padrao”. Entao crie o .jar:

cd /home/fulano/MeuProjeto
jar cvf padrao.jar padrao/*

o “padrao.jar” seria criado. Para ver se tudo esta correto ( se os .class estao realmente dentro do diretorio “padrao” ), abra com o WinZip, unzip ou algum outro programa que manipule .zip ( que eh o formato do .jar ). Faca isso soh para verificar o conteudo, nada mais.

Entao adicione o “padrao.jar” no classpath. ( Note, adicione no classpath mesmo, nao jogue nos diretorios do java ). Se nao souber mudar o classpath, ha um tutorial no guj chamado “Classpath - O que eh e para que serve”. De uma lida nele de tiver alguma duvida.

Agora, no teu progrma que precisar usar as classes padroes, simplesmente importe normal:

// MeuPrograma.java
import padrao.*;

class Blah {
    ClasseUm c = new ClasseUm();
    ....
}

Isso deve funcionar. Nao se esqueca que os .class, no .jar, necessariamente deve estar dentro do diretorio “padrao”.

Rafae

Não é possivel rafael, aqui nao funciona… nao sei se eh meu computador, ou esse arquivo .jar, vc tem algum exemplo de algum arquivo .jar pra me enviar pra mim testar?

fiz exatamente o que vc disse
as duas classes dentro do package padrao;
criei o arquivo .jar
jar cvf padrao.jar Padrao*.*
verifiquei e as duas classes estavam la dentro

copiei esse arquivo pro c:

no autoexec.bat (uso win98) fiz a classpath exatamente assim
SET CLASSPATH=.;%CLASSPATH%;c:padrao.jar

dentro do meu programa eu coloco
import padrao.*;

quando tento compilar ele
C:Java>javac teste.java
teste.java:1: package padrao does not exist
import padrao.*;

nao sei mais o que fazer…
se puder mandar um exemplo de um .jar
meu email alex.lopes2000@bol.com.br

Se o seu diretório / package está com P maisúsculo, tem que fazer o import com P maiúsculo também.
(Porém o ideal no caso de packages e diretórios é usar sempre apenas letras minúsculas)

[quote=“Bani”]Se o seu diretório / package está com P maisúsculo, tem que fazer o import com P maiúsculo também.
(Porém o ideal no caso de packages e diretórios é usar sempre apenas letras minúsculas)[/quote]

AEEEEEEEEEEEE
até que enfim deu certo, era o tar do maiusculo…
eu pensei que ele pegava igual o arquivo .jar era, e o arquivo .jar é padrao.jar
mas o seu diretorio é Padrao

finalmente funcionou

Obrigado Rafael e Bani