第11章P320,demo_svm_text_classification.py中,LinearSVMClassifier报错java.lang.NoClassDefFoundError:

在11.5.2《线性支持向量机文本分类器实现》中运行
LinearSVMClassifier=SafeJClass(‘com.hankcs.hanlp.classification.classifiers.LinearSVMClassifier’)
出现以下报错:
Traceback (most recent call last):

File “”, line 1, in
LinearSVMClassifier = SafeJClass(‘com.hankcs.hanlp.classification.classifiers.LinearSVMClassifier’)

File “C:\Users\striker\Anaconda3\lib\site-packages\pyhanlp_init_.py”, line 162, in init
self._proxy = JClass(proxy) if type(proxy) is str else proxy

File “C:\Users\striker\Anaconda3\lib\site-packages\jpype_jclass.py”, line 130, in new
return _JClassNew(args[0], **kwargs)

File “C:\Users\striker\Anaconda3\lib\site-packages\jpype_jclass.py”, line 213, in _JClassNew
javaClass = _jpype.PyJPClass(arg)

java.lang.NoClassDefFoundError: java.lang.NoClassDefFoundError: com/hankcs/hanlp/classification/classifiers/LinearSVMClassifier

请问何晗老师怎么解决呢?下一句IOUtil=SafeJClass(‘com.hankcs.hanlp.corpus.io.IOUtil’)就是正常的。

有可能是这句下载失败了:

手动下载试试

您好,之前已成功下载


出现如上报错

谢谢何老师,已经解决了,可能是之前运行了其他代码,Spyder设置出现了点问题,我重启Spyder后运行就正常了

我也发现了类似问题,我用的是VS Code和HanLP 1.7.7,第一次运行这个示例程序,下载文件成功了,但25行这里LinearSVMClassifier = SafeJClass(‘com.hankcs.hanlp.classification.classifiers.LinearSVMClassifier’)会提示找不到类。关闭VS Code重启就能运行了。原因不知道,但解决方法发现也是关闭重启~