¿Tiene problemas para obtener y FreeTTS JSAPI de Trabajo
Pregunta
En primer lugar estoy en Ubuntu Linux si lo que importa.
Tengo una idea para un proyecto sencillo con sede fuera de FreeTTS y JSAPI (Java Speech API)
He descargado y FreeTTS descomprimidos y ejecutar su script de construcción. Luego trató de compilar el código que une varios frasco es requerido en el directorio lib en la ruta de clase como esta:
javac -cp /home/travis/Desktop/freetts-1.2/lib/jsapi.jar:/home/travis/Desktop/freetts-1.2/lib/freetts.jar HelloUnleashedReader.java
Lo que a continuación se compila a código de bytes de Java muy bien. Sin embargo cuando corro:
java HelloUnleashedReader
Me sale el siguiente error:
Exception in thread "main" java.lang.NoClassDefFoundError: javax/speech/EngineModeDesc
Cualquier ayuda en este tema sería muy apreciada ya que hay muchos sitios alrededor de la red que estudien los problemas con conseguir que funcione, pero no muchos que hablan de su solución.
Solución
Es necesario añadir el jsapi.jar en la ruta de clases. El jsapi.jar puede ser descomprimido mediante la ejecución lib / jsapi.exe dentro del directorio de instalación freetts.
Otros consejos
veo que está utilizando Ubuntu. Debe aceptar la licencia de archivos binarios antes de poder utilizar jsapi.jar. Usted está de acuerdo con esta licencia en el proceso de sacarlo. Para jsapi.jar de desempaquetado en Ubuntu debería escribir lo siguiente:
cd ~/Desktop/freetts-1.2/lib
chmod +x ./jsapi.sh
./jsapi.sh
si recibe un mensaje como
"./ jsapi.sh: 1428: uudecode: no encontrado"
a continuación, instalar uudecode con
sudo apt-get install sharutils
y vuelve a intentarlo
Tengo este error a pesar de que tenía jsapi.jar en la ruta de clase.
java -cp `ls *.jar | awk '{ORS=":";print}'` -jar WebStartClock.jar
Lo que me ayudó fue que especifican la clase principal explícitamente:
java -cp `ls *.jar | awk '{ORS=":";print}'` JSAPIClock
Probablemente algo mal en los metadatos JAR o menos.