Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/380.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在addMatch()方法上找不到classifier4j类异常_Java_Exception_Classification - Fatal编程技术网

Java 在addMatch()方法上找不到classifier4j类异常

Java 在addMatch()方法上找不到classifier4j类异常,java,exception,classification,Java,Exception,Classification,在尝试使用classifier4j包中的贝叶斯分类器类时,我有一个奇怪的行为 基本上我的代码是: String test_string = "some bla bla web designers in here whatever"; SimpleWordsDataSource wds = new SimpleWordsDataSource(); BayesianClassifier classifier = new BayesianClassifier(wds); wds.addMatch("W

在尝试使用classifier4j包中的贝叶斯分类器类时,我有一个奇怪的行为

基本上我的代码是:

String test_string = "some bla bla web designers in here whatever";
SimpleWordsDataSource wds = new SimpleWordsDataSource();
BayesianClassifier classifier = new BayesianClassifier(wds);
wds.addMatch("Web Design")
Double d = classifier.classify(test_string);
尝试运行此代码时得到的结果是:

run:
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory
    at net.sf.classifier4J.bayesian.WordProbability.calculateProbability(WordProbability.java:167)
    at net.sf.classifier4J.bayesian.WordProbability.setMatchingCount(WordProbability.java:138)
    at net.sf.classifier4J.bayesian.WordProbability.<init>(WordProbability.java:115)
    at net.sf.classifier4J.bayesian.SimpleWordsDataSource.addMatch(SimpleWordsDataSource.java:94)
    at tothego_classifier_test.Main.main(Main.java:44)
Caused by: java.lang.ClassNotFoundException: org.apache.commons.logging.LogFactory
    at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
    ... 5 more
Java Result: 1
BUILD SUCCESSFUL (total time: 0 seconds)
运行:
线程“main”java.lang.NoClassDefFoundError中出现异常:org/apache/commons/logging/LogFactory
net.sf.classifier4J.bayesian.WordProbability.calculateProbability(WordProbability.java:167)
net.sf.classifier4J.bayesian.WordProbability.setMatchingCount(WordProbability.java:138)
net.sf.classifier4J.bayesian.WordProbability.(WordProbability.java:115)
位于net.sf.classifier4J.bayesian.SimpleWordsDataSource.addMatch(SimpleWordsDataSource.java:94)
在tothego_分类器_test.Main.Main(Main.java:44)
原因:java.lang.ClassNotFoundException:org.apache.commons.logging.LogFactory
位于java.net.URLClassLoader$1.run(URLClassLoader.java:202)
位于java.security.AccessController.doPrivileged(本机方法)
位于java.net.URLClassLoader.findClass(URLClassLoader.java:190)
位于java.lang.ClassLoader.loadClass(ClassLoader.java:306)
位于sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
位于java.lang.ClassLoader.loadClass(ClassLoader.java:247)
... 还有5个
Java结果:1
生成成功(总时间:0秒)
这很烦人,因为我一直在尝试运行一个简单的hello world测试(如网站的使用部分)。我使用的是netbeans 6.9,ofc包含了classifier4j 0.6 jar和可选jar,在我的主类中也有正确的导入语句。 我知道Nick Lothian在这里有贡献,所以我想问一下就好了!
感谢大家的努力

好的,我解决了这个问题,下面我们为大家介绍一个简单的方法:

  • 单击此链接并下载二进制文件
  • 解压缩刚下载的文件
  • 将commons-logging-xxx.jar、commons-logging-adapters.jar、commons-logging-api.jar添加到您的类路径/项目libs中(我尝试了很多,似乎只适用于包含的整个jar)
  • 重建和重新运行

希望这有帮助:)

我没有提到:当我在没有wds.addmatch()语句的情况下运行代码时,它会从头到尾运行