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

How to compile and run HelloWorld.java example from Sphinx4 without and IDE in Linux?

我一直在使用 Eclipse 测试来自 Sphinx4 的示例 (HelloWorld.java),但我想从命令行编译和 运行 它们。 该应用程序需要 5 个 .jars 才能 运行,我读过为了用多个 .jars 编译 java class 我需要执行以下命令(作为示例我将显示简称):

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

感谢您能给我的任何帮助。

您必须在类路径中包含当前目录:

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

注意前导.:


从这个reference:

The default class path is the current directory. Setting the CLASSPATH variable or using the -classpath command-line option overrides that default, so if you want to include the current directory in the search path, you must include "." in the new settings.