usar jar externo  XML
Índice dos Fóruns » Java Básico
Autor Mensagem
kaabah
Java Ninja
[Avatar]

Membro desde: 23/05/2006 09:56:33
Mensagens: 260
Localização: Vitória-ES
Offline

Olá juggers...

Estou com um problema... tenho um aplicativo que utiliza 5 arquivos .jar externos a aplicação.

Todos eles estao em uma pasta definida. (C:\Program Files\Shared)

Fiz o sistema utilizando NetBeans.

Ao gerar o .jar do meu aplicativo e rodar fora do netbeans, ocorre um erro pois ele não encontra algumas classes que estão nos arquivos .jar da pasta citada acima.

como seria, pela linha de comando para rodar esse aplicativo?
Tentei utilizando java -cp "C:\Program Files\Shared\nomeDoJar.jar; C:\Program Files\Shared\nomeDoOutroJar.jar" -jar Meuaplicativo.jar. O erro continua...

Teria uma forma de eu indicar só o nome da pasta ao invés de ter que declarar cada jar que eu estou usando?

A sintaxe acima está correta?!

abração pessoal...

-----
Sun Certified Java Programmer

"O que eu espero senhores, é que depois de um razoável período de discussão, todo mundo concorde comigo". (Winston Churchill)
klebergf
JavaGuru
[Avatar]

Membro desde: 05/11/2003 14:12:07
Mensagens: 224
Localização: Curitiba PR
Offline

Dica: Crie um arquivo de manifesto para o jar do seu aplicativo. Nele vc define os dados do seu arquivo jar, como dependencias de outras bilbiotecas.

Coloque o caminho das bibliotecas necessarias no atributo Class-Path do seu manifesto.

Tem um tutorial aqui no guj que ira te ajudar a criar esse arquivo:
http://www.guj.com.br/java.tutorial.artigo.42.1.guj


Muitas vezes nossa aplicação utiliza vários arquivos JAR. Para evitarmos a necessidade de expecificar no classpath da inicialização de nossa aplicação todos os arquivos necessários podemos usar o atributo Class-Path.


Isso deve resolver.

"Onde estão os atos de bravura e rebeldia,
Ternuna guerrada dia-a-dia?
Será que estamos sós?"
(gessisnger/maltz)
[Email] [MSN]
kaabah
Java Ninja
[Avatar]

Membro desde: 23/05/2006 09:56:33
Mensagens: 260
Localização: Vitória-ES
Offline

já olhei esse tutorial... a minha duvida é qts classpath meu manifest pode ter...

ele está assim:

Name: br/offline

Class-Path: "C:/Program Files/messageService.jar"
Class-Path: "C:/Program Files/Shared.jar"
Class-Path: "C:/Program Files/subscription.jar"
Class-Path: "C:/Program Files/widgets.jar"
Class-Path: "C:/Program Files/workflow.jar"
Class-Path: "C:/Program Files/xalan.jar"
Class-Path: "C:/Program Files/xercesImpl.jar"
Class-Path: "C:/Program Files/xforms.jar"
Class-Path: "C:/Program Files/XformsCommon.jar"
Class-Path: "C:/Program Files/xml-apis.jar"
Class-Path: "C:/Program Files/xmlParserAPIs.jar"
Class-Path: "C:/Program Files/xtrim-api.jar"
Class-Path: "C:/Program Files/ll-MB.jar"
Class-Path: "C:/Program Files/bpmutil.jar"
Class-Path: "C:/Program Files/bsf.jar"
Class-Path: "C:/Program Files/castor-0.9.5.2.jar"
Class-Path: "C:/Program Files/ci.jar"
Class-Path: "C:/Program Files/Dcollaboration.jar"
Class-Path: "C:/Program Files/commons-jxpath-1.1.jar"
Class-Path: "C:/Program Files/ctsTransform.jar"
Class-Path: "C:/Program Files/ctsTransformImpl.jar"




-----
Sun Certified Java Programmer

"O que eu espero senhores, é que depois de um razoável período de discussão, todo mundo concorde comigo". (Winston Churchill)
dsfextreme
JavaTeenager
[Avatar]

Membro desde: 12/06/2005 13:29:13
Mensagens: 169
Localização: Belo Horizonte
Offline

kaabah wrote:já olhei esse tutorial... a minha duvida é qts classpath meu manifest pode ter...

ele está assim:

Name: br/offline

Class-Path: "C:/Program Files/messageService.jar"
Class-Path: "C:/Program Files/Shared.jar"
Class-Path: "C:/Program Files/subscription.jar"
Class-Path: "C:/Program Files/widgets.jar"
Class-Path: "C:/Program Files/workflow.jar"
Class-Path: "C:/Program Files/xalan.jar"
Class-Path: "C:/Program Files/xercesImpl.jar"
Class-Path: "C:/Program Files/xforms.jar"
Class-Path: "C:/Program Files/XformsCommon.jar"
Class-Path: "C:/Program Files/xml-apis.jar"
Class-Path: "C:/Program Files/xmlParserAPIs.jar"
Class-Path: "C:/Program Files/xtrim-api.jar"
Class-Path: "C:/Program Files/ll-MB.jar"
Class-Path: "C:/Program Files/bpmutil.jar"
Class-Path: "C:/Program Files/bsf.jar"
Class-Path: "C:/Program Files/castor-0.9.5.2.jar"
Class-Path: "C:/Program Files/ci.jar"
Class-Path: "C:/Program Files/Dcollaboration.jar"
Class-Path: "C:/Program Files/commons-jxpath-1.1.jar"
Class-Path: "C:/Program Files/ctsTransform.jar"
Class-Path: "C:/Program Files/ctsTransformImpl.jar"


Qual versão do NetBeans que vc está usando ?


[Email]
kaabah
Java Ninja
[Avatar]

Membro desde: 23/05/2006 09:56:33
Mensagens: 260
Localização: Vitória-ES
Offline

5.0

-----
Sun Certified Java Programmer

"O que eu espero senhores, é que depois de um razoável período de discussão, todo mundo concorde comigo". (Winston Churchill)
klebergf
JavaGuru
[Avatar]

Membro desde: 05/11/2003 14:12:07
Mensagens: 224
Localização: Curitiba PR
Offline

kaabah wrote:já olhei esse tutorial... a minha duvida é qts classpath meu manifest pode ter...



Pode ter vários, quantos forem necessários, mas a declaração correta seria assim:





ou seja não faça uma linha Class-Path para cada jar e sim uma linha só e cada jar separa por um espaço.

A melhor prática seria dentro da sua aplicação (mesmo sendo desktop) criar uma pasta lib e colocar seus jar ali dentro para falicitar a distribuição do seu aplicativo.

Ficaria algo como:



Funcionaria corretamente.

"Onde estão os atos de bravura e rebeldia,
Ternuna guerrada dia-a-dia?
Será que estamos sós?"
(gessisnger/maltz)
[Email] [MSN]
kaabah
Java Ninja
[Avatar]

Membro desde: 23/05/2006 09:56:33
Mensagens: 260
Localização: Vitória-ES
Offline

Entendi... li num artigo também que "Class-Path:" só aceita caminhos relativos... Como vc falou para fazer....... acho que a saida vai ser essa mesmo...

Valeu as dicas aí...

abração!

-----
Sun Certified Java Programmer

"O que eu espero senhores, é que depois de um razoável período de discussão, todo mundo concorde comigo". (Winston Churchill)
marthian_2
JavaBaby
[Avatar]

Membro desde: 24/09/2007 12:44:38
Mensagens: 92
Offline

Pessoal ta dando problema com o meu tb.
eu fiz o seguinte manifest:

Manifest-Version: 1.0
Main-Class: com.marcianogoncalves.agenda.graficos.Agenda
Class-Path: /WEB-INF/lib/hibernate3.jar /WEB-INF/lib/jta.jar /WEB-INF/lib/antlr-2.7.6.jar /WEB-INF/lib/asm.jar /WEB-INF/lib/c3p0-0.9.1-pre6.jar /WEB-INF/lib/cglib-2.1.jar /WEB-INF/lib/commons-collections-2.1.1.jar /WEB-INF/lib/commons-logging-1.0.4.jar /WEB-INF/lib/dom4j-1.6.jar /WEB-INF/lib/hsqldb.jar

So que da o seguinte erro:

Exception in thread "AWT-EventQueue-0" java.lang.NoClassDefFoundError: org/hiber
nate/Session
at com.marcianogoncalves.agenda.bo.AgendaBO.<init>(AgendaBO.java:24)
at com.marcianogoncalves.agenda.graficos.Agenda$6.actionPerformed(Agenda
.java:696)
at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Sour
ce)
at java.awt.AWTEventMulticaster.mouseReleased(Unknown Source)
at java.awt.Component.processMouseEvent(Unknown Source)
at javax.swing.JComponent.processMouseEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForHierarchy(Unknown Source)

at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)


Alguem pode me ajudar??
[MSN]
 
Índice dos Fóruns » Java Básico
Ir para:   
Powered by JForum 2.1.8 © JForum Team