FatJar

11 respostas
T

Porque q uma aplicacao funciona no eclipse e nao funciona qdo eu gero o .jar (atraves do fatjar) e rodo no prompt?
alguem sabe q mistério é esse?

11 Respostas

eloilton

olah?
mas simplesmente naum roda ou gera alguma Exception?
abrax…

T
Exception in thread main java.lang.ClassFormatError: org/apache/xerces/parsers

/AbstractDOMParser (Illegal constant pool index)

at java.lang.ClassLoader.defineClass0(Native Method)

at java.lang.ClassLoader.defineClass(Unknown Source)

at java.security.SecureClassLoader.defineClass(Unknown Source)

at java.net.URLClassLoader.defineClass(Unknown Source)

at java.net.URLClassLoader.access$100(Unknown Source)

at java.net.URLClassLoader$1.run(Unknown Source)

at java.security.AccessController.doPrivileged(Native Method)

at java.net.URLClassLoader.findClass(Unknown Source)

at java.lang.ClassLoader.loadClass(Unknown Source)

at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)

at java.lang.ClassLoader.loadClass(Unknown Source)

at java.lang.ClassLoader.loadClassInternal(Unknown Source)

at org.apache.xerces.jaxp.DocumentBuilderFactoryImpl.newDocumentBuilder(

Unknown Source)

at br.com.imagetec.xml.XMLDomHelper.load(XMLDomHelper.java:74)

at br.com.imagetec.xml.XMLDomHelper.load(XMLDomHelper.java:47)

at br.com.imagetec.ws.client.CommonServiceClient.sendMessage(CommonServi

ceClient.java:67)

at br.com.imagetec.function.library.WebServicesFunctions.call(WebService

sFunctions.java:53)

at br.com.imagetec.ci.integracao.IntegracaoProvision.main(IntegracaoProv

ision.java:37)
Guilherme_Gomes

Parece que o FatJar não está conseguindo fazer o … jar gordo…

Olha o ClassFormatError:

T

vc sabe utilizar o fat jar??? acredito q tbm seja na hora de gerar o .jar

eloilton

e ai…
vi um topico semelhante e um das possiveis soluçoes apresentadas foram:

  • Classpath - Veja se todos os JAR necessários estão em seu classpath.

tbm axu q ele pod naum estar gerando o jar com td q vc precisa…

T

sim todos os jars estao no class path, peguei as libs do pacote axis2.zip

Guilherme_Gomes

Ja utilizei o FatJar varias vezes e nunca vi isso!

Tenta gerar o JAR sem essa biblioteca que tem o org/apache/xerces/parsers/AbstractDOMParser,
daí vc passa essa classpath pela linha de comando:

java -cp CLASSPATH -jar suaApp.jar

Aldrin_Leal

Identifique se você não precisa de algum jar extra, executando dentro do eclipse a aplicação com a flag -verbose:class.

Depois, rode fora e compare os resultados. A chance de algo não ter sido incluído é, afinal de contas, muito alta.

T

[Loaded javax.xml.stream.XMLEventReader]
[Loaded com.bea.xml.stream.ConfigurationContextBase]
[Loaded java.lang.ClassFormatError from C:\Arquivos de programas\Java\j2re1.4.2_13\lib\rt.jar]
[Loaded sun.misc.ClassFileTransformer from C:\Arquivos de programas\Java\j2re1.4.2_13\lib\rt.jar]
Exception in thread “main” java.lang.ClassFormatError: com/bea/xml/stream/MXParser (Illegal UTF8
[Loaded java.lang.StackTraceElement from C:\Arquivos de programas\Java\j2re1.4.2_13\lib\rt.jar]
at java.lang.ClassLoader.defineClass0(Native Method)
at java.lang.ClassLoader.defineClass(Unknown Source)
at java.security.SecureClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.access$100(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)
at com.bea.xml.stream.MXParserFactory.createXMLStreamReader(MXParserFactory.java:260)
at br.com.imagetec.ws.client.CommonServiceClient.mountContext(CommonServiceClient.java:10
at br.com.imagetec.ws.client.CommonServiceClient.sendMessage(CommonServiceClient.java:7
at br.com.imagetec.function.library.WebServicesFunctions.call(WebServicesFunctions.java:5
at br.com.imagetec.ci.integracao.IntegracaoProvision.main(IntegracaoProvision.java:37)
[Loaded java.lang.Shutdown from C:\Arquivos de programas\Java\j2re1.4.2_13\lib\rt.jar]
[Loaded java.lang.Shutdown$Lock from C:\Arquivos de programas\Java\j2re1.4.2_13\lib\rt.jar]

Loaded javax.xml.stream.XMLEventReader]
[Loaded com.bea.xml.stream.ConfigurationContextBase]
[Loaded javax.xml.stream.Location]
[Loaded com.bea.xml.stream.MXParser]
[Loaded java.lang.IllegalStateException from C:\j2sdk1.4.2_13\jre\lib\rt.jar]
[Loaded java.io.EOFException from C:\j2sdk1.4.2_13\jre\lib\rt.jar]
[Loaded java.lang.IndexOutOfBoundsException from C:\j2sdk1.4.2_13\jre\lib\rt.jar]
[Loaded java.lang.ArrayIndexOutOfBoundsException from C:\j2sdk1.4.2_13\jre\lib\rt.jar]
[Loaded javax.xml.namespace.NamespaceContext]

da pra concluir algo???

Aldrin_Leal

Claro que dá: Você tá rodando código 1.5 em uma VM 1.4!

T

resolvi… o problema todo era o .jar gerado pelo fatjar

Criado 16 de janeiro de 2008
Ultima resposta 16 de jan. de 2008
Respostas 11
Participantes 4