簡體   English   中英

包括jar文件到類路徑

[英]including jar files to a classpath

我試圖運行Sphinx的HelloWOrd程序,它需要一個.jar文件才能工作。

我試圖在類路徑中添加一個jar文件,但是我遇到了一些錯誤

contend.util不存在import edu.cmu.sphinx.frontend.util.Microphone; ^ home / karen / workspace / hola / src / hola / HelloWorld.java:4:包edu.cmu.sphinx.recognizer不存在import edu.cmu.sphinx.recognizer.Recognizer; ^ home / karen / workspace / hola / src / hola / HelloWorld.java:5:包edu.cmu.sphinx.result不存在import edu.cmu.sphinx.result.Result; ^ home / karen / workspace / hola / src / hola / HelloWorld.java:6:包edu.cmu.sphinx.util.props不存在import edu.cmu.sphinx.util.props.ConfigurationManager; ^ home / karen / workspace / hola / src / hola / HelloWorld.java:11:找不到符號symbol:類ConfigurationManager位置:類hola.HelloWorld ConfigurationManager cm; ^ home / karen / workspace / hola / src / hola / HelloWorld.java:14:找不到符號symbol:類ConfigurationManager位置:類hola.HelloWorld cm = new ConfigurationManager(args [0]); ^ home / karen / workspace / hola / src / hola / HelloWorld.java:16:找不到符號symbol:類ConfigurationManager位置:類hola.HelloWorld cm =新的ConfigurationManager(HelloWorld.class.getResource(“ helloworld.config.xml” )); ^ home / karen / workspace / hola / src / hola / HelloWorld.java:19:找不到符號symbol:類識別器位置:類hola.HelloWorld Recognizer識別器=(識別器)cm.lookup(“識別器”); ^ home / karen / workspace / hola / src / hola / HelloWorld.java:19:找不到符號symbol:類識別器位置:類hola.HelloWorld Recognizer識別器=(識別器)cm.lookup(“識別器”); ^ home / karen / workspace / hola / src / hola / HelloWorld.java:23:找不到符號symbol:類麥克風位置:class hola.HelloWorld麥克風=(麥克風)cm.lookup(“麥克風”); ^ home / karen / workspace / hola / src / hola / HelloWorld.java:23:找不到符號symbol:類麥克風位置:class hola.HelloWorld麥克風=(麥克風)cm.lookup(“麥克風”); ^ home / karen / workspace / hola / src / hola / HelloWorld.java:36:找不到符號symbol:class結果位置:class hola.HelloWorld Result結果= identifier.recognize(); ^ 12個錯誤

我的問題是:我必須添加需要我的項目的所有軟件包,或者僅添加jar文件和主類?

恭喜!

這是HelloWord程序:

禮包

import edu.cmu.sphinx.frontend.util.Microphone;
import edu.cmu.sphinx.recognizer.Recognizer;
import edu.cmu.sphinx.result.Result;
import edu.cmu.sphinx.util.props.ConfigurationManager;

public class HelloWorld {
    public static void main(String [] args){
        System.out.println("VIcente y karen");
        ConfigurationManager cm;
        System.out.println("Karen entiende esto");
                if (args.length > 0) {
                    cm = new ConfigurationManager(args[0]);
                } else {
                    cm = new ConfigurationManager(HelloWorld.class.getResource("helloworld.config.xml"));
                }

                Recognizer recognizer = (Recognizer) cm.lookup("recognizer");
                recognizer.allocate();

                // start the microphone or exit if the programm if this is not possible
                Microphone microphone = (Microphone) cm.lookup("microphone");
                if (!microphone.startRecording()) {
                    System.out.println("Cannot start microphone.");
                    recognizer.deallocate();
                    System.exit(1);
                }

                System.out.println("Say: (Good morning | Hello) ( Bhiksha | Evandro | Paul | Philip | Rita | Will )");

                // loop the recognition until the programm exits.
                while (true) {
                    System.out.println("Start speaking. Press Ctrl-C to quit.\n");

                    Result result = recognizer.recognize();

                    if (result != null) {
                        String resultText = result.getBestFinalResultNoFiller();
                        System.out.println("You said: " + resultText + '\n');
                    } else {
                        System.out.println("I can't hear what you said.\n");
                    }
                }
    }

}

很可能您沒有在程序中導入正確的類或程序包(程序包名稱正確嗎?似乎編譯器無法從前幾行錯誤中識別出它們)。

即使您的類路徑中包含具有類的JAR文件,您仍必須將它們導入您的特定類中,以使編譯器知道您需要哪些外部類。

您還必須對內置的Java類(例如java.util.ArrayList )執行此操作。 如果您提供您的程序,我們將能夠為您提供更好的幫助。

如果您擁有的Jar文件也依賴於其他庫,那么也必須提供它們。

使用zip程序(例如winrar)打開JAR文件,然后檢查要導入的軟件包是否存在。 您應該看到一個名為edu的文件夾,在其中還包含cmu / sphinx / frontend / util文件夾,然后在其中有Microphone.class文件夾。 對於帶有文件Recognizer.class的edu.cmu.sphinx.recognizer同樣。

如果使用的是IDE(例如Eclipse,Netbeans或IntelliJ IDEA),請確保將jar文件添加到項目庫列表中。

對於Eclipse,你必須遵循的程序在這里

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM