2010-05-17 4 views
1

Tout d'abord, je suis sur Linux Ubuntu si cela est important.
J'ai une idée de projet simple basée sur FreeTTS et le JSAPI (Java Speech API)Avoir des problèmes Obtenir FreeTTS et JSAPI de travail

J'ai téléchargé et décompressé FreeTTS et exécuté leur script de construction. Puis essayé de compiler mon code reliant plusieurs jar est requis dans le répertoire lib dans le chemin de classe comme ceci:

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

qui compile ensuite à Java bytecode très bien. Cependant quand je lance:

java HelloUnleashedReader 

Je reçois l'erreur suivante:

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

Toute aide à ce sujet serait grandement apprécié car il existe de nombreux sites autour du filet de discuter des problèmes avec la faire fonctionner mais pas beaucoup qui discutent de leur solution.

+0

Cela m'est également arrivé, même si j'avais jsapi.jar sur -cp à coup sûr. Bizarre. –

Répondre

1

Vous devez ajouter jsapi.jar dans votre classpath. Le fichier jsapi.jar peut être décompressé en exécutant lib/jsapi.exe dans le répertoire d'installation de freetts.

+0

J'ai essayé ceci et j'ai eu la même erreur. – Travis

+0

Pouvez-vous essayer: java -cp /home/travis/Desktop/freetts-1.2/lib/jsapi.jar:/home/travis/Desktop/freetts-1.2/lib/freetts.jar :. HelloUnleashedReader –

5

Je vois que vous utilisez Ubuntu. Vous devez accepter la licence binaire avant de pouvoir utiliser jsapi.jar. Vous acceptez cette licence dans le processus de déballage. Pour décompresser jsapi.jar dans Ubuntu vous tapez la commande suivante:

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

si vous recevez un message comme

"./jsapi.sh: 1428: uudecode: not found"

puis installez uudecode avec

sudo apt-get install sharutils 

et essayez à nouveau

+0

La deuxième partie est ce que j'ai eu des problèmes, puisque uudecode n'est pas un paquet standard inclus avec Ubuntu. Merci! – Jason

0

J'ai eu cette erreur malgré que jsapi.jar soit sur classpath.

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

Ce qui m'a aidé a été la classe principale spécifiant explicitement:

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

probablement quelque chose de mal dans les métadonnées JAR ou ainsi.

Questions connexes