Возникли проблемы при работе FreeTTS и JSAPI - PullRequest
1 голос
/ 17 мая 2010

Прежде всего, я в Ubuntu linux, если это имеет значение.
У меня есть простая идея проекта, основанная на FreeTTS и JSAPI (Java Speech API)

Я скачал и распаковал FreeTTS изапустите их скрипт сборки.Затем попытался скомпилировать мой код, связывающий несколько jar-файлов, требуемых в каталоге lib, с путем к классу следующим образом:

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

, который затем прекрасно компилируется в байт-код java.Однако, когда я запускаю:

java HelloUnleashedReader

я получаю следующую ошибку:

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

Любая помощь по этому вопросу будет принята с благодарностью, так как в сети есть много сайтов, обсуждающих проблемы с получениемэто работает, но не многие, которые обсуждают их решение.

Ответы [ 3 ]

5 голосов
/ 19 июня 2010

Я вижу, что вы используете Ubuntu. Вы должны согласиться с бинарной лицензией, прежде чем использовать jsapi.jar. Вы соглашаетесь с этой лицензией в процессе ее распаковки. Чтобы распаковать jsapi.jar в Ubuntu, вы должны набрать следующее:

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

если вы получаете сообщение типа

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

затем установите uudecode с

sudo apt-get install sharutils

и попробуйте еще раз

1 голос
/ 17 мая 2010

Вам нужно добавить jsapi.jar в ваш путь к классам. Jsapi.jar можно распаковать, запустив lib / jsapi.exe в каталоге установки freetts.

0 голосов
/ 18 февраля 2011

Я получил эту ошибку, несмотря на то, что у меня был jsapi.jar на classpath.

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

Что помогло мне, так это точное определение основного класса:

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

Возможно, что-то не так в метаданных JAR или около того.

...