Porquê meu .jar não localiza as bibliotecas da aplicação?

5 respostas
Leandro_M

Queria saber porque minha aplicação com bibliotecas funciona com a IDE e não funciona quando transfiro suas classes (da minha aplicação) para um arquivo .jar.

Uso a IDE JCreator

Criei algumas classes que usam dois pacotes .jar

Na minha IDE o código funciona normalmente (aplicação javamail - funciona certinho)

Criei um arquivo .jar para utilizar minha aplicação de modo mais prático

Coloquei todas as classes da minha aplicação dentro do .jar e linkei o arquivo MANIFEST.MF --> Main Class:(com minha classe principal - somente isso)

Minha aplicação é aberta normalmente (os frames etc) mas o .jar não encontra a biblioteca (do javamail - duas bibliotecas)

Retirei as pastas que compunham as bibliotecas e as coloquei dentro dentro do .jar que criei de acordo com os imports -> [import javax.mail] peguei a pasta javax e coloquei dentro do .jar da minha aplicação Ficou tudo em seu devido lugar de acordo com os imports mas não manda o e-mail. Acredito que ele  não está encontrando as bibliotecas e não sei como fazer isso.

Alguém poderia me ajudar?

Grato,

Leandro

5 Respostas

Leandro_M

Desculpa
Alguém pode me dá uma luz?

B

Já viu se os jars estão no classpath do sistema?

Leandro_M

Olha só o erro que é retornado quando tento por exemplo mandar um e-mail para mim mesmo. Só lembrando, estou tentando mandar o e-mail usando o .jar
Com o IDE eu consigo tranquilamente porque as bibliotecas estão adicionadas.
Só não fazer isso com o .jar.

Olha só os erros

Não encontrei esses arquivos aí que estão em negrito --> javamail.providers

[list]DEBUG: JavaMail version 1.4.1
DEBUG: not loading file: C:\Arquivos de programas\Java\jdk1.5.0_06\jre\lib\javam
ail.providers
DEBUG: java.io.FileNotFoundException: C:\Arquivos de programas\Java\jdk1.5.0_06
jre\lib\javamail.providers (O sistema nÒo pode encontrar o arquivo especificado)

DEBUG: !anyLoaded

DEBUG: not loading resource: /META-INF/javamail.providers

DEBUG: not loading resource: /META-INF/javamail.default.providers

DEBUG: failed to load any providers, using defaults

DEBUG: Tables of loaded providers

DEBUG: Providers Listed By Class Name: {com.sun.mail.smtp.SMTPSSLTransport=javax

.mail.Provider[TRANSPORT,smtps,com.sun.mail.smtp.SMTPSSLTransport,Sun Microsyste

ms, Inc.,1.4.1], com.sun.mail.smtp.SMTPTransport=javax.mail.Provider[TRANSPORT,s

mtp,com.sun.mail.smtp.SMTPTransport,Sun Microsystems, Inc.,1.4.1], com.sun.mail.

imap.IMAPSSLStore=javax.mail.Provider[STORE,imaps,com.sun.mail.imap.IMAPSSLStore

,Sun Microsystems, Inc.,1.4.1], com.sun.mail.pop3.POP3SSLStore=javax.mail.Provid

er[STORE,pop3s,com.sun.mail.pop3.POP3SSLStore,Sun Microsystems, Inc.,1.4.1], com

.sun.mail.imap.IMAPStore=javax.mail.Provider[STORE,imap,com.sun.mail.imap.IMAPSt

ore,Sun Microsystems, Inc.,1.4.1], com.sun.mail.pop3.POP3Store=javax.mail.Provid

er[STORE,pop3,com.sun.mail.pop3.POP3Store,Sun Microsystems, Inc.,1.4.1]}

DEBUG: Providers Listed By Protocol: {imaps=javax.mail.Provider[STORE,imaps,com.

sun.mail.imap.IMAPSSLStore,Sun Microsystems, Inc.,1.4.1], imap=javax.mail.Provid

er[STORE,imap,com.sun.mail.imap.IMAPStore,Sun Microsystems, Inc.,1.4.1], smtps=j

avax.mail.Provider[TRANSPORT,smtps,com.sun.mail.smtp.SMTPSSLTransport,Sun Micros

ystems, Inc.,1.4.1], pop3=javax.mail.Provider[STORE,pop3,com.sun.mail.pop3.POP3S

tore,Sun Microsystems, Inc.,1.4.1], smtp=javax.mail.Provider[TRANSPORT,smtp,com.

sun.mail.smtp.SMTPTransport,Sun Microsystems, Inc.,1.4.1], pop3s=javax.mail.Prov

ider[STORE,pop3s,com.sun.mail.pop3.POP3SSLStore,Sun Microsystems, Inc.,1.4.1]}

DEBUG: not loading resource: /META-INF/javamail.default.address.map

DEBUG: !anyLoaded

DEBUG: not loading resource: /META-INF/javamail.address.map

DEBUG: not loading file: C:\Arquivos de programas\Java\jdk1.5.0_06\jre\lib\javam

ail.address.map

DEBUG: java.io.FileNotFoundException: C:\Arquivos de programas\Java\jdk1.5.0_06

jre\lib\javamail.address.map (O sistema nÒo pode encontrar o arquivo especificad

o)

DEBUG: failed to load address map, using defaults

DEBUG: setDebug: JavaMail version 1.4.1

DEBUG: getProvider() returning javax.mail.Provider[TRANSPORT,smtp,com.sun.mail.s

mtp.SMTPTransport,Sun Microsystems, Inc.,1.4.1]

DEBUG SMTP: useEhlo true, useAuth true

DEBUG SMTP: trying to connect to host <a href="http://smtp.gmail.com">smtp.gmail.com</a>, port 465, isSSL false

220 <a href="http://mx.google.com">mx.google.com</a> ESMTP i17sm5081684wxd.19

DEBUG SMTP: connected to host <a href="http://smtp.gmail.com">smtp.gmail.com</a>, port: 465
EHLO casa

<a href="http://250-mx.google.com">250-mx.google.com</a> at your service, [200.226.118.79]

250-SIZE 28311552

250-8BITMIME

250-AUTH LOGIN PLAIN

250 ENHANCEDSTATUSCODES

DEBUG SMTP: Found extension SIZE, arg 28311552

DEBUG SMTP: Found extension 8BITMIME, arg “”

DEBUG SMTP: Found extension AUTH, arg LOGIN PLAIN

DEBUG SMTP: Found extension ENHANCEDSTATUSCODES, arg “”

DEBUG SMTP: Attempt to authenticate

AUTH LOGIN

334 VXNlcm5hbWU6

Z2V0bWFpbGphdmFAZ21haWwuY29t

334 UGFzc3dvcmQ6

OTUxMWphdmE=

235 2.7.0 Accepted

DEBUG SMTP: use8bit false

MAIL FROM:<a href="mailto:[email removido]">[email removido]</a>

250 2.1.0 OK

RCPT TO:<a href="mailto:[email removido]">[email removido]</a>

250 2.1.5 OK

DEBUG SMTP: Verified Addresses

DEBUG SMTP:   <a href="mailto:[email removido]">[email removido]</a>

DATA

354 Go ahead

javax.activation.UnsupportedDataTypeException: no object DCH for MIME type text/

plain

at javax.activation.ObjectDataContentHandler.writeTo(DataHandler.java:84

1)

at javax.activation.DataHandler.writeTo(DataHandler.java:295)

at javax.mail.internet.MimeBodyPart.writeTo(MimeBodyPart.java:1403)

at javax.mail.internet.MimeMessage.writeTo(MimeMessage.java:1745)

at com.sun.mail.smtp.SMTPTransport.sendMessage(SMTPTransport.java:636)

at SendMail.sendMail(SendMail.java:92)

at MainClass.actionPerformed(MainClass.java:81)

at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:18

49)

at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.jav

a:2169)

at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel

.java:420)

at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:258

)

at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonL

istener.java:234)

at java.awt.Component.processMouseEvent(Component.java:5488)

at javax.swing.JComponent.processMouseEvent(JComponent.java:3126)

at java.awt.Component.processEvent(Component.java:5253)

at java.awt.Container.processEvent(Container.java:1966)

at java.awt.Component.dispatchEventImpl(Component.java:3955)

at java.awt.Container.dispatchEventImpl(Container.java:2024)

at java.awt.Component.dispatchEvent(Component.java:3803)

at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4212

)

at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3892)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3822)
    at java.awt.Container.dispatchEventImpl(Container.java:2010)
    at java.awt.Window.dispatchEventImpl(Window.java:1774)
    at java.awt.Component.dispatchEvent(Component.java:3803)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:463)
    at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchTh
read.java:242)

at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThre

ad.java:163)

at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:157)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:149)

    at java.awt.EventDispatchThread.run(EventDispatchThread.java:110)
Erro: Envio Mensagem

javax.mail.MessagingException: IOException while sending message;

nested exception is:

javax.activation.UnsupportedDataTypeException: no object DCH for MIME ty

pe text/plain

at com.sun.mail.smtp.SMTPTransport.sendMessage(SMTPTransport.java:676)

at SendMail.sendMail(SendMail.java:92)

at MainClass.actionPerformed(MainClass.java:81)

at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:18
  1. at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.jav
    
a:2169)

at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel

.java:420)

at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:258

)

at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonL

istener.java:234)

at java.awt.Component.processMouseEvent(Component.java:5488)

at javax.swing.JComponent.processMouseEvent(JComponent.java:3126)

at java.awt.Component.processEvent(Component.java:5253)

at java.awt.Container.processEvent(Container.java:1966)

at java.awt.Component.dispatchEventImpl(Component.java:3955)

at java.awt.Container.dispatchEventImpl(Container.java:2024)

at java.awt.Component.dispatchEvent(Component.java:3803)

at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4212

)

at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3892)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3822)
    at java.awt.Container.dispatchEventImpl(Container.java:2010)
    at java.awt.Window.dispatchEventImpl(Window.java:1774)
    at java.awt.Component.dispatchEvent(Component.java:3803)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:463)
    at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchTh
read.java:242)

at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThre

ad.java:163)

at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:157)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:149)

    at java.awt.EventDispatchThread.run(EventDispatchThread.java:110)
Caused by: javax.activation.UnsupportedDataTypeException: no object DCH for MIME

type text/plain

at javax.activation.ObjectDataContentHandler.writeTo(DataHandler.java:84

1)

at javax.activation.DataHandler.writeTo(DataHandler.java:295)

at javax.mail.internet.MimeBodyPart.writeTo(MimeBodyPart.java:1403)

at javax.mail.internet.MimeMessage.writeTo(MimeMessage.java:1745)

at com.sun.mail.smtp.SMTPTransport.sendMessage(SMTPTransport.java:636)

 26 more[/list]
B

Tente resolver seu problema com esta solução:

http://www-128.ibm.com/developerworks/forums/thread.jspa?threadID=6294

darkroger

opa, seta o classpath no manifest, e coloca estes .jars(biblioteca) na mesma pasta do .jar aplicaçao.

Criado 30 de abril de 2008
Ultima resposta 2 de mai. de 2008
Respostas 5
Participantes 3