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

标签 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

我很感激你能给我的任何帮助。

最佳答案

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

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.

关于java - 如何在没有 IDE 的情况下从 Sphinx4 编译和运行 HelloWorld.java 示例?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30489637/

相关文章:

linux - 使用 u-boot 日志预扩展内核日志

python:在另一个文件夹中运行测试的文件夹覆盖(Eclipse PyDev)

eclipse - Eclipse工作区中的.metadata文件夹是什么?

java - 从 jar 文件运行特定类的主要功能。导入似乎不起作用

java - Eclipse 包资源管理器未正确显示

java - 将字节流转换为字符串(UTF-8 编码)

java - 在 spring 中有条件地将表列分配给属性

清除 Linux C 中终端程序的输出

java - IntelliJ 在鼠标悬停时显示 JavaDocs 工具提示

java - CentOS 中的 "which java"打印错误的 java 路径