没有这样的方法错误getComponentNames
No such method error getComponentNames
我是这个主题的新手,我正在尝试按照本教程逐步使用 Sphinx4 库构建示例项目:
Tutorial link
然后我一直遇到来自 (run.xml)
的相同错误
我使用的代码:
public static void main(String[] args) {
// TODO code application logic here
//configuration obj
Configuration configuration = new Configuration();
//path to acoustic model
configuration.setAcousticModelPath("resource:/edu/cmu/sphinx/models/en-us/es-us");
//path to dictionary model
configuration.setDictionaryPath("/dictionary.dic");
//path to the language model
configuration.setLanguageModelPath("/languagemodel.lm");
//recognizer object, pass configuration object
try{
LiveSpeechRecognizer recognize = new LiveSpeechRecognizer(configuration);
recognize.startRecognition(true);
//create SpeechResult Obj
SpeechResult result;
//checking if recognizer jas recognized the speech
while((result = recognize.getResult())!=null){
//get the recognized speech
String command = result.getHypothesis();
//Match recognized speech with our commands
switch(command){
case "open file manager":
System.out.println("File manager Opened");
break;
case "close file manager":
System.out.println("File manager Closed");
break;
case "open browser":
System.out.println("Browser Opened");
break;
case "close browser":
System.out.println("Browser Closed");
break;
}
}
}catch(IOException e){}
}
我不断收到的错误:
run:
Exception in thread "main" java.lang.NoSuchMethodError: edu.cmu.sphinx.util.props.ConfigurationManager.getComponentNames()Ljava/util/Set;
at edu.cmu.sphinx.util.props.ConfigurationManagerUtils.listAllsPropNames(ConfigurationManagerUtils.java:553)
at edu.cmu.sphinx.util.props.ConfigurationManagerUtils.setProperty(ConfigurationManagerUtils.java:610)
at edu.cmu.sphinx.api.Context.setLocalProperty(Context.java:191)
at edu.cmu.sphinx.api.Context.setAcousticModel(Context.java:88)
at edu.cmu.sphinx.api.Context.<init>(Context.java:61)
at edu.cmu.sphinx.api.Context.<init>(Context.java:45)
at edu.cmu.sphinx.api.AbstractSpeechRecognizer.<init>(AbstractSpeechRecognizer.java:44)
at edu.cmu.sphinx.api.LiveSpeechRecognizer.<init>(LiveSpeechRecognizer.java:34)
at speechrecognizer.SpeechRecognizer.main(SpeechRecognizer.java:40)
C:\Users\Sadeem\AppData\Local\NetBeans\Cache.2\executor-snippets\run.xml:54: Java returned: 1
BUILD FAILED (total time: 0 seconds)
我从这个网站下载了 jar 文件oss.sonatype.org
我将 file.dic、file.lm 添加到 /src 文件夹和一个单独的文件夹中,以确定是否是这个原因,但没有新的结果。
你用错了罐子。合适的罐子是 sphinx4-core-5prealpha-20160628.232526-10.jar and sphinx4-data-5prealpha-20160628.232535-10.jar
您还需要确保类路径中没有其他 sphinx4 jar。
您可能只想切换到 gradle 或基于 maven 的项目。你可以摆脱很多关于图书馆的问题。
我有一个 Sphinx4 项目,目前使用以下 Gradle.build:
apply plugin: 'java'
repositories {
jcenter()
mavenLocal()
maven { url "https://oss.sonatype.org/content/repositories/snapshots" }
maven {url "https://mvnrepository.com/artifact/commons-io/commons-io"}
}
dependencies {
compile 'org.slf4j:slf4j-api:1.7.21'
compile group: 'edu.cmu.sphinx', name: 'sphinx4-core', version:'5prealpha-SNAPSHOT'
compile group: 'edu.cmu.sphinx', name: 'sphinx4-data', version:'5prealpha-SNAPSHOT'
compile group: 'commons-io', name: 'commons-io', version: '2.4'
testCompile 'junit:junit:4.12'
}
如果您从未使用过Gradle:https://docs.gradle.org/3.0/userguide/tutorial_java_projects.html
它也适用于大多数 IDE,例如 Eclipse、Netbeans 或 IntelliJ
我是这个主题的新手,我正在尝试按照本教程逐步使用 Sphinx4 库构建示例项目: Tutorial link
然后我一直遇到来自 (run.xml)
的相同错误我使用的代码:
public static void main(String[] args) {
// TODO code application logic here
//configuration obj
Configuration configuration = new Configuration();
//path to acoustic model
configuration.setAcousticModelPath("resource:/edu/cmu/sphinx/models/en-us/es-us");
//path to dictionary model
configuration.setDictionaryPath("/dictionary.dic");
//path to the language model
configuration.setLanguageModelPath("/languagemodel.lm");
//recognizer object, pass configuration object
try{
LiveSpeechRecognizer recognize = new LiveSpeechRecognizer(configuration);
recognize.startRecognition(true);
//create SpeechResult Obj
SpeechResult result;
//checking if recognizer jas recognized the speech
while((result = recognize.getResult())!=null){
//get the recognized speech
String command = result.getHypothesis();
//Match recognized speech with our commands
switch(command){
case "open file manager":
System.out.println("File manager Opened");
break;
case "close file manager":
System.out.println("File manager Closed");
break;
case "open browser":
System.out.println("Browser Opened");
break;
case "close browser":
System.out.println("Browser Closed");
break;
}
}
}catch(IOException e){}
}
我不断收到的错误:
run:
Exception in thread "main" java.lang.NoSuchMethodError: edu.cmu.sphinx.util.props.ConfigurationManager.getComponentNames()Ljava/util/Set;
at edu.cmu.sphinx.util.props.ConfigurationManagerUtils.listAllsPropNames(ConfigurationManagerUtils.java:553)
at edu.cmu.sphinx.util.props.ConfigurationManagerUtils.setProperty(ConfigurationManagerUtils.java:610)
at edu.cmu.sphinx.api.Context.setLocalProperty(Context.java:191)
at edu.cmu.sphinx.api.Context.setAcousticModel(Context.java:88)
at edu.cmu.sphinx.api.Context.<init>(Context.java:61)
at edu.cmu.sphinx.api.Context.<init>(Context.java:45)
at edu.cmu.sphinx.api.AbstractSpeechRecognizer.<init>(AbstractSpeechRecognizer.java:44)
at edu.cmu.sphinx.api.LiveSpeechRecognizer.<init>(LiveSpeechRecognizer.java:34)
at speechrecognizer.SpeechRecognizer.main(SpeechRecognizer.java:40)
C:\Users\Sadeem\AppData\Local\NetBeans\Cache.2\executor-snippets\run.xml:54: Java returned: 1
BUILD FAILED (total time: 0 seconds)
我从这个网站下载了 jar 文件oss.sonatype.org
我将 file.dic、file.lm 添加到 /src 文件夹和一个单独的文件夹中,以确定是否是这个原因,但没有新的结果。
你用错了罐子。合适的罐子是 sphinx4-core-5prealpha-20160628.232526-10.jar and sphinx4-data-5prealpha-20160628.232535-10.jar
您还需要确保类路径中没有其他 sphinx4 jar。
您可能只想切换到 gradle 或基于 maven 的项目。你可以摆脱很多关于图书馆的问题。
我有一个 Sphinx4 项目,目前使用以下 Gradle.build:
apply plugin: 'java'
repositories {
jcenter()
mavenLocal()
maven { url "https://oss.sonatype.org/content/repositories/snapshots" }
maven {url "https://mvnrepository.com/artifact/commons-io/commons-io"}
}
dependencies {
compile 'org.slf4j:slf4j-api:1.7.21'
compile group: 'edu.cmu.sphinx', name: 'sphinx4-core', version:'5prealpha-SNAPSHOT'
compile group: 'edu.cmu.sphinx', name: 'sphinx4-data', version:'5prealpha-SNAPSHOT'
compile group: 'commons-io', name: 'commons-io', version: '2.4'
testCompile 'junit:junit:4.12'
}
如果您从未使用过Gradle:https://docs.gradle.org/3.0/userguide/tutorial_java_projects.html
它也适用于大多数 IDE,例如 Eclipse、Netbeans 或 IntelliJ