Certificado não funciona em JAR

Fiz uma aplicação para gerar nota fiscal eletrônica e enviar assinado via webservices.

A aplicação roda de boa no eclipse! mas quando gero o JAR não encontra mais o arquivo do certificado digital para fazer a assinatura do xml!

Ja tentei fazendo o load do certificado numa pasta ou dentro do jar! ambos funcionam no eclipse mas quando gero o jar não roda!

alguém passou por algo semelhante ?

Em qual lugar vc está colocando o certificado e como vc está carregando ele?

KeyStore ks = KeyStore.getInstance( KeyStore.getDefaultType());
ks.load(new java.io.FileInputStream(caminhoKeyStore), senhaCertificado);

em “caminhoKeyStore” ja coloquei o path onde esta salvo no disco!
Ja tentei colocando dentro da pasta src ai utilizo MyClass.class.getResource("/store.jks");

No eclipse funciona de boa! mas quando gero o jar não funciona!

Quando vc gera o jar, vc jah viu onde o certificado está sendo colocado?

Pra obter recursos que estão dentro do JAR tem que usar getResourceAsStream, que retorna um InputStream com o conteúdo do arquivo.
O getResource retorna um URL, então só funciona para acessar recursos fora do JAR.

1 curtida