Domanda

Prima di tutto io sono su Ubuntu Linux se quello che conta.
Ho una semplice idea di progetto in base al largo della FreeTTS ed il JSAPI (Java Speech API)

Ho scaricato e FreeTTS decompressi e gestire le loro script di build. Poi ha provato la compilazione il mio codice che collega diversi vaso è richiesto nella directory lib nel percorso classe come questa:

javac -cp /home/travis/Desktop/freetts-1.2/lib/jsapi.jar:/home/travis/Desktop/freetts-1.2/lib/freetts.jar HelloUnleashedReader.java

Che poi viene compilato in bytecode Java bene. Tuttavia quando faccio funzionare:

java HelloUnleashedReader

ottengo il seguente errore:

Exception in thread "main" java.lang.NoClassDefFoundError: javax/speech/EngineModeDesc

Qualsiasi aiuto su questo tema sarebbe molto apprezzato in quanto vi sono molti siti giro per la rete parlano di problemi a farla funzionare, ma non molti che discutono la loro soluzione.

È stato utile?

Soluzione

È necessario aggiungere il jsapi.jar nel classpath. Il jsapi.jar può essere scompattato eseguendo lib / jsapi.exe all'interno della directory di installazione di FreeTTS.

Altri suggerimenti

Vedo che si sta utilizzando Ubuntu. È necessario accettare la licenza binaria prima di poter utilizzare jsapi.jar. L'utente accetta di questa licenza nel processo di disimballaggio esso. Per jsapi.jar unpack in Ubuntu è necessario digitare quanto segue:

cd ~/Desktop/freetts-1.2/lib
chmod +x ./jsapi.sh
./jsapi.sh 

se si riceve un messaggio del tipo

  

"./ jsapi.sh: 1428: uudecode: non trovato"

quindi installare uudecode con

sudo apt-get install sharutils

e riprovare

ho ottenuto questo errore nonostante ho avuto jsapi.jar sul classpath.

java -cp `ls *.jar | awk '{ORS=":";print}'` -jar WebStartClock.jar

Quello che mi ha aiutato è stato che specifica la classe principale esplicitamente:

java -cp `ls *.jar | awk '{ORS=":";print}'` JSAPIClock

Probabilmente qualcosa di sbagliato nei metadati JAR o giù di lì.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top