Problema esecuzione JMS

N46002467

Membro attivo
16 Dicembre 2015
19
1
6
3
Ragazzi sto avendo problemi con JMS, in particolar modo dopo aver dato il comando activemq start apro un altro terminale e quando vado a fare java package.Classe all'interno del percorso del progetto mi da il seguente errore:
Errore: impossibile inizializzare la classe principale disk.Disk
Causato da: java.lang.NoClassDefFoundError: javax/jms/JMSException
Il codice non ha problemi dato che se eseguo da eclipse funziona normalmente, il problema è solo da terminale. Sapete perchè fa così e come posso risolvere? Grazie mille!
 

mfinizio

Membro
9 Dicembre 2015
2
0
1
Ragazzi sto avendo problemi con JMS, in particolar modo dopo aver dato il comando activemq start apro un altro terminale e quando vado a fare java package.Classe all'interno del percorso del progetto mi da il seguente errore:
Errore: impossibile inizializzare la classe principale disk.Disk
Causato da: java.lang.NoClassDefFoundError: javax/jms/JMSException
Il codice non ha problemi dato che se eseguo da eclipse funziona normalmente, il problema è solo da terminale. Sapete perchè fa così e come posso risolvere? Grazie mille!

Stesso problema anche io, non so più dove sbattere la testa
 

m96

Membro TOP
Utente Premium
28 Gennaio 2016
33
18
8
Napoli
Ci ho perso la testa anch’io per più di una settimana, e alla fine ho scoperto che è una questione di Classpath. Almeno a me su Mac, nonostante abbia inserito il .jar di activemq al classpath del progetto su eclipse (e quindi relative librerie di jms) non riuscivo ad eseguire da terminale mentre da eclipse si. Ho provato poi anche su Windows ma nulla, stesso problema. Alla fine sono arrivato alla conclusione che occorreva includere il parh di activemq all’avviamento di un programma jms e mi sono scritto questa mini guida :

Posizionati sulla cartella bin del progetto

1) Posizionati da terminale sulla cartella bin del progetto

2) Digita java -cp PATH_ACTIVEMQ: nome_package.Nome_Classe



NOTA BENE
  • Da Mac/Linux utilizza i due punti ‘:’ dopo il path di activeMQ
  • Da Windows invece ‘;’

PIU’ COMODO
1) Creati una cartella lib nel progetto e inserisci activemq.jar (LA STESSA VERSIONE CHE STAI USANDO, CIOE’ CHE HAI AVVIATO)

2) In Eclipse aggiungi al Classpath del progetto activemq.jar nella cartella lib

3) Al momento dell’esecuzione (dopo aver buildato da Eclipse), una volta posizionati nella cartella bin del progetto da terminale digita

java -cp ../lib/activemq.jar: nome_package.Nome_Classe
 

Seguici su Facebook