1

首先,如果这很重要,我会使用 Ubuntu linux。
我有一个基于 FreeTTS 和 JSAPI(Java Speech API)的简单项目构想

我已经下载并解压了 FreeTTS 并运行了他们的构建脚本。然后尝试编译我的代码,将 lib 目录中所需的几个 jar 链接到类路径中,如下所示:

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

对此问题的任何帮助将不胜感激,因为网络上有许多站点讨论如何使其正常工作,但讨论其解决方案的却不多。

4

3 回答 3

5

我看到你正在使用 Ubuntu。您必须先同意二进制许可,然后才能使用 jsapi.jar。您在解包过程中同意此许可。要在 Ubuntu 中解压 jsapi.jar,您需要输入以下内容:

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

如果您收到类似的消息

“./jsapi.sh: 1428: uudecode: 未找到”

然后安装uudecode

sudo apt-get install sharutils

然后再试一次

于 2010-06-19T15:29:07.610 回答
1

您需要将 jsapi.jar 添加到您的类路径中。可以通过在 freetts 安装目录中运行 lib/jsapi.exe 来解压 jsapi.jar。

于 2010-05-17T07:14:29.267 回答
0

尽管我在类路径上有 jsapi.jar,但我还是收到了这个错误。

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

帮助我的是明确指定主类:

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

JAR 元数据中可能有问题。

于 2011-02-17T22:43:54.630 回答