如何在没有Linux的情况下从Sphinx4编译和运行HelloWorld.java示例?

时间:2015-05-27 17:47:39

标签: java linux eclipse jar sphinx4

我一直在用Eclipse测试Sphinx4中的示例(HelloWorld.java),但我想从命令行编译并运行它们。 应用程序需要5个.jars才能运行,我已经读过为了编译一个带有多个.jars的java类,我需要执行以下命令(例如我将显示短名称):

javac -cp one.jar:two.jar:three.jar:four.jar:five.jar HelloWorld.java

控制台不会抛出任何错误消息:

parias001@parias001-pc:~/Projects/citadel_voices/sphinx_test > javac -cp jsapi.jar:sphinx4.jar:TIDIGITS_8gau_13dCep_16k_40mel_130Hz_6800Hz.jar:WSJ_8gau_13dCep_8kHz_31mel_200Hz_3500Hz.jar:WSJ_8gau_13dCep_16k_40mel_130Hz_6800Hz.jar HelloWorld.java
parias001@parias001-pc:~/Projects/citadel_voices/sphinx_test > 

我认为汇编成功了。现在我想运行应用程序,我读到为了做到这一点,我必须执行如下命令(使用短名称示例):

java -cp one.jar:two.jar:three.jar:four.jar:five.jar HelloWorld

这是控制台抛出的消息:

parias001@parias001-pc:~/Projects/citadel_voices/sphinx_test > java -cp jsapi.jar:sphinx4.jar:TIDIGITS_8gau_13dCep_16k_40mel_130Hz_6800Hz.jar:WSJ_8gau_13dCep_8kHz_31mel_200Hz_3500Hz.jar:WSJ_8gau_13dCep_16k_40mel_130Hz_6800Hz.jar HelloWorld
Error: Could not find or load main class HelloWorld

我不知道这里发生了什么,我还应该说我没有很多使用外部.jars的经验。

.jars的名称是:

  1. jsapi.jar
  2. sphinx4.jar
  3. TIDIGITS_8gau_13dCep_16k_40mel_130Hz_6800Hz.jar
  4. WSJ_8gau_13dCep_8kHz_31mel_200Hz_3500Hz.jar
  5. WSJ_8gau_13dCep_16k_40mel_130Hz_6800Hz.jar
  6. 我感谢你能给我的任何帮助。

1 个答案:

答案 0 :(得分:1)

您必须在classpath中包含当前目录:

java -cp .:one.jar:two.jar:three.jar:four.jar:five.jar HelloWorld

注意领先.:

从此reference

  

默认类路径是当前目录。设置CLASSPATH变量或使用-classpath命令行选项会覆盖该默认值,因此如果要在搜索路径中包含当前目录,则必须包括"。"在新设置中。