heritrix3.1与java1.8不兼容
2015-07-27 21:01
507 查看
最近刚安装了java1.8,在使用heritrix时(heritrix-3.1.0),发现通过cmd输入heritrix -a admin:admin无法启动服务端,提示错误为默认商品8443可能被占用,不过检查系统端口占用情况,发现这个商品并没有被占用。
然而,在Heritrix窗口查看异常为ClassNotFound,sun.security.tools.KeyTool类无法找到,原来问题出在这里。
好端端的类怎么就不见了呢,比较java1.7和java1.8的sun.security.tools包(在rt.jar中)之后发现,原来在java1.8里面已经没有KeyTool类,而是多了一个名为sun.security.tools.keytool的包,相必原来KeyTool的功能被优化后拆为几个新类来实现了。
好在机器上原来的java1.7还在,只要修改一下JRE的配置即可。
此处还需要注意,在安装jdk时如果也同时安装了新的jre,那么,会在C盘C:\ProgramData\Oracle\Java\javapath路径下面创建新的jre的快捷方式,包括(java.exe,javaw.exe,javaws.exe),并且在Path环境变量的最前面会加入这个路径。
另外,还需要修改注册表 HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment\CurrentVersion的键值。
最后,启动heritrix时,应注意使用https访问,否则会抛出异常javax.net.ssl.SSLException。
然而,在Heritrix窗口查看异常为ClassNotFound,sun.security.tools.KeyTool类无法找到,原来问题出在这里。
好端端的类怎么就不见了呢,比较java1.7和java1.8的sun.security.tools包(在rt.jar中)之后发现,原来在java1.8里面已经没有KeyTool类,而是多了一个名为sun.security.tools.keytool的包,相必原来KeyTool的功能被优化后拆为几个新类来实现了。
好在机器上原来的java1.7还在,只要修改一下JRE的配置即可。
此处还需要注意,在安装jdk时如果也同时安装了新的jre,那么,会在C盘C:\ProgramData\Oracle\Java\javapath路径下面创建新的jre的快捷方式,包括(java.exe,javaw.exe,javaws.exe),并且在Path环境变量的最前面会加入这个路径。
另外,还需要修改注册表 HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment\CurrentVersion的键值。
最后,启动heritrix时,应注意使用https访问,否则会抛出异常javax.net.ssl.SSLException。
相关文章推荐
- java笔记--接口和内部类
- Java项目初学---------卡片布局
- 使用无连接的数据报(UDP)进行通信 分类: Java 2015-07-27 20:59 13人阅读 评论(0) 收藏
- 生产者/消费者问题的多种Java实现方式
- 04 JAVA 常用类补充 Scanner和日历
- eclipse下的ssh框架整合过程及测试
- Java实现附近地点搜索
- Java实现附近地点搜索
- 设计模式-java内置观察者模式解析
- java设计模式之基本原则
- Spring MVC之@RequestBody, @ResponseBody 详解
- java文本输入
- Spring MVC之@RequestParam @RequestBody @RequestHeader 等详解
- Struts2.3.24项目配置所需最少依赖jar包
- Jps介绍以及解决jps无法查看某个已经启动的java进程问题
- Java多态中的注意事项
- Java基础——集合框架(四)
- spring mvc中的@PathVariable
- 深入理解JAVA虚拟机笔记-05
- eclipse创建maven管理的web项目