java.lang.Error: Unresolved compilation problems 这是什么问题,怎么改正?
cannot be resolved The import org.wltea cannot be resolved IKSegmenter cannot be
resolved to a type IKSegmenter cannot be resolved to a type Lexeme cannot be
resolved to a type IKSegmenter cannot be resolved to a type IKSegmenter cannot
be resolved to a type Lexeme cannot be resolved to a type
org.bjtu.wip.processor.IKAnalyzer.(IKAnalyzer.java:17)
org.bjtu.wip.web.action.SpotAction.findHotWord(SpotAction.java:96)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
java.lang.reflect.Method.invoke(Method.java:601)
com.opensymphony.xwork2.DefaultActionInvocation.invokeAction(DefaultActionInvocation.java:452)
com.opensymphony.xwork2.DefaultActionInvocation.invokeActionOnly(DefaultActionInvocation 展开
这是引入类型失败的错误提示,
import org.wltea ,
说明你引入了某个jar 包或者类,但是没有找到 ,就报错了.
IK analyzer 中文分词器 开源的项目 ,有源码的.
把这个下载好就可以了。
一般有两种常见的情况:
1、当一个 jar 文件的 MANIFEST.MF 中已经标记了 Sealed: true 时,这个 jar 内所有的 java package 中的类必须来自这个 jar 包,这是 JVM 的安全措施,配合数字签名就能防止篡改,微软就把它的 SQLServer 驱动程序签名了。比如,JRE 的 rt.jar 就是 Sealed,所以你自己创建一个类 java.lang.MyClass 来运行的话,JVM 是拒绝的。
通常情况下,如果你使用了基于动态代理的 AOP,比如 Hibernate 延迟加载或 Spring 的 AOP 就可能因为临时生成的一个子类本身生成在内存中而不是来自某个 jar 包,这时如果这个 jar 包是 Sealed 就无法工作,比如 Microsoft SQLServer JDBC 驱动程序在 Sealed 时你用 Hibernate 的延迟加载就会出错,因为 Hibernate 生成的代理类继承了某个 JDBC 驱动包内的类但这个驱动包是 Sealed,生成的类的包名在驱动名的 jar 中就会出错。
2、可能是类版本错误。这个错误是你说你当前的某个类它引用到的其它类库的版本与这个类在编译时所用的版本不相同 ,比如:你的类 A 用了 c_1.0.jar 中的某个类,编译之后拿到服务器上去用,但服务器上的只有 c_1.1.jar 这个类,它的版本与 c_1.0.jar 某个用到的类略有差异。
因此在 J2EE 开发中确保我们编译时针对 API 或接口编程,不要针对实现类编程,否则不同的版本对你有很大影响,你必须在所有可能用到的服务器上针对性地测试才能发现问题。
如果你是使用类似 Eclipse 的开发工具,那么当你要用到 jstl.jar , jsp.jar, servlet.jar , j2ee.jar 等服务器提供的 API 时,我们不应该把服务器上的 jar 复制到 WEB-INF/lib 下,而是应该在 Eclipse 的项目属性的 Java Build Path 中 Add Library > Server Runtime 或 User Library 来避免复制 jar。一旦复制了之后其它人在服务器配置变更后可能不知道你的类库和服务器的类库有什么差异。
import org.wltea 说明你引入了某个jar 包 或者 类
但是没有找到 就报错了
检查下 IKSegmenter 这个类 的引入路径 是不是存在就找到问题了
是忘了添加这个jar包了,import org.wltea.analyzer.core.IKSegmenter; 想问一下这个需要的jar包的名字是什么?谢谢!
IK analyzer 中文分词器 开源的项目 有源码的
http://code.google.com/p/ik-analyzer/downloads/list