2012-11-11 3 views
0

스핑크스의 HelloWOrd 프로그램을 실행하려고하면 .jar 파일이 필요합니다.클래스 경로에 jar 파일이 포함되어 있습니다.

메신저 클래스 패스에 jar 파일을 추가하려고하지만, 메신저 수입 edu.cmu.sphinx.frontend.util.Microphone 존재하지 않는 몇 가지 오류를

contend.util을 받고; ^ 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; ^ 홈/카렌/작업/안녕/SRC/안녕/HelloWorld.java : 6 : 패키지 edu.cmu.sphinx.util.props이 수입 edu.cmu.sphinx.util.props.ConfigurationManager 존재하지 않는다; ^ 홈/카렌/작업/안녕/SRC/안녕/HelloWorld.java : 11 : 찾을 수없는 기호 기호 : 클래스의 ConfigurationManager 위치 : 클래스 hola.HelloWorld 의 ConfigurationManager cm; ^ 홈/karen/workspace/hola/src/hola/HelloWorld.java : 14 : 기호를 찾을 수 없습니다. 심볼 : class ConfigurationManager 위치 : 클래스 hola.HelloWorld cm = 새 ConfigurationManager (args [0]); 는 홈/카렌/작업 영역/안녕/SRC/안녕/HelloWorld.java^: 16 : 클래스의 ConfigurationManager 위치 : 기호 기호를 찾을 수없는 클래스를 hola.HelloWorld cm = 새의 ConfigurationManager (HelloWorld.class.getResource ("helloworld를 .config.xml "))); ^ 홈/카렌/작업/안녕/SRC/안녕/HelloWorld.java : 19 : 클래스 인식기 위치 : 기호 기호를 찾을 수없는 클래스를 hola.HelloWorld 인식기 인식 = (인식기) cm.lookup ("인식"); ^ 홈/카렌/작업/안녕/SRC/안녕/HelloWorld.java : 19 : 클래스 인식기 위치 : 기호 기호를 찾을 수없는 클래스를 hola.HelloWorld 인식기 인식 = (인식기) cm.lookup ("인식"); ^ 홈/카렌/작업/안녕/SRC/안녕/HelloWorld.java : 23 : 클래스 마이크 위치 : 기호 기호를 찾을 수없는 클래스 hola.HelloWorld 마이크 마이크 = (마이크) cm.lookup ("마이크"); ^ 홈/카렌/작업/안녕/SRC/안녕/HelloWorld.java : 23 : 클래스 마이크 위치 : 기호 기호를 찾을 수없는 클래스 hola.HelloWorld 마이크 마이크 = (마이크) cm.lookup ("마이크"); ^ 홈/카렌/작업/안녕/SRC/안녕/HelloWorld.java : 36 : 클래스 결과 위치 : 기호 기호를 찾을 수없는 클래스 hola.HelloWorld 결과 결과 = recognizer.recognize(); ^ (12) 오류

내 질문은 : 내 프로젝트 또는 단지 jar 파일 및 기본 클래스를 필요로하는 모든 패키지를 추가해야 ?

Sugest please!

은은 HelloWorld 프로그램입니다 :

패키지 안녕;

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"); 
        } 
       } 
    } 

}

+0

모든 단지를 따라야한다. – smk

+0

나는 단지 1 개의 jar 파일을 가지고 있지만, 나의 프로젝트는 몇몇 패키지에 의존한다. 이 패키지를 추가해야합니까? – karensantana

+0

Hello World 프로그램을 붙여 넣으면 올바르게 코딩했는지 알 수 있습니다. – jbx

답변

0

당신이 당신의 프로그램에 적합한 클래스 또는 패키지를 가져 오지 않았다 대부분의 아마 (컴파일러가 처음 몇 오류 라인에서 그들을 인식하지 못합니다 같은 이름을 수정 패키지가? 보인다 있습니다).

당신이 당신의 클래스 경로의 클래스와 JAR 파일을 가지고 있지만, 당신은 여전히 ​​당신이 필요로하는 외부의 어떤 클래스를 알 수있는 컴파일러 특정 클래스를 가져올 수 있습니다.

은 또한 붙박이 자바 클래스 (예를 들어 java.util.ArrayList)을 위해 그것을해야합니다. 프로그램을 제공하면 더 잘 도와 드릴 수 있습니다. 당신은 또한이 JAR 파일이 다른 라이브러리에 의존하는 경우

후 그들도 제공해야합니다.

zip 프로그램 (예 : winrar)을 사용하여 JAR 파일을 열고 가져올 패키지가 있는지 확인하십시오. edu라는 이름의 폴더가 보일 것입니다. 폴더 안에는 cmu/sphinx/frontend/util 폴더가 있고 그 안에 Microphone.class가 있습니다. Recognizer.class 파일과 함께 edu.cmu.sphinx.recognizer에 대해서도 마찬가지입니다.

(예 : 이클립스, 넷빈즈 또는 인 IntelliJ의 IDEA와 같은) IDE는 프로젝트 라이브러리 목록에 jar 파일을 추가 확인을 사용하는 경우. 이클립스를 들어

, 당신은 절차를 클래스 패스에 추가 할 수있다 프로그램에 필요한 here

+0

예 Helloworld.jar을 라이브러리에 추가했습니다! – karensantana

+0

하지만 실제로 Helloworld.jar에 해당 클래스가 있습니까? 그래서 당신이 winrar 또는 유사한 그것을 열면 edu/cmu/sphinx 폴더 등을 찾으십니까? – jbx

+0

예! Helloworld.jar을 열면 edu/cmu/sphinx를 찾습니다 – karensantana

관련 문제