我正在尝试将我的服务器重新部署到具有不同 DNS 和 IP 地址的新服务器上。因此,我认为我的问题在于查找 JAR 文件的配置。有没有办法获取有关请求哪个类的更多详细信息,以便我可以缩小问题范围。
有人对此类问题有建议的故障排除指导吗?
顺便说一句 - 配置在原始服务器上运行,我尝试在文件中找到所有位置:conf/、worker.properties、server.xml、catalina.policy、web.xml。
jarkarta.log 不断重复启动...初始化错误...。非常无聊,因此,问题肯定是根本性的。
显然,错误消息在日志中记录了多行,如下所示:
初始化 VM java/lang/NoClassDefFoundError 时发生错误:java/lang/Object
[2012-05-21 18:20:33] [info] Procrun (2.0.4.0) started
[2012-05-21 18:20:33] [info] Running Service...
[2012-05-21 18:20:33] [info] Starting service...
[2012-05-21 18:20:33] [info] Error occurred during initialization of VM
[2012-05-21 18:20:33] [info] java/lang/NoClassDefFoundError
[2012-05-21 18:20:33] [info] : java/lang/Object
[2012-05-21 18:21:59] [info] Procrun (2.0.4.0) started
[2012-05-21 18:21:59] [info] Running Service...
[2012-05-21 18:21:59] [info] Starting service...
[2012-05-21 18:21:59] [info] Error occurred during initialization of VM
[2012-05-21 18:21:59] [info] java/lang/NoClassDefFoundError
[2012-05-21 18:21:59] [info] : java/lang/Object
[2012-05-21 18:35:16] [info] Procrun (2.0.4.0) started
[2012-05-21 18:35:16] [info] Running Service...
[2012-05-21 18:35:16] [info] Starting service...
[2012-05-21 18:35:16] [info] Error occurred during initialization of VM
[2012-05-21 18:35:16] [info] java/lang/NoClassDefFoundError
[2012-05-21 18:35:16] [info] : java/lang/Object
[2012-05-21 18:45:25] [info] Procrun (2.0.4.0) started
[2012-05-21 18:45:25] [info] Running Service...
[2012-05-21 18:45:25] [info] Starting service...
[2012-05-21 18:45:25] [info] Error occurred during initialization of VM
[2012-05-21 18:45:25] [info] java/lang/NoClassDefFoundError
[2012-05-21 18:45:25] [info] : java/lang/Object
[2012-05-21 18:46:29] [info] Procrun (2.0.4.0) started
[2012-05-21 18:46:29] [info] Running Service...
[2012-05-21 18:46:29] [info] Starting service...
[2012-05-21 18:46:29] [info] Error occurred during initialization of VM
[2012-05-21 18:46:29] [info] java/lang/NoClassDefFoundError
答案1
尝试这个信息:-
- 交叉检查
classpath
并path's
正确设置 - 验证 JVM 是否已正确安装
- 可能
rt.jar
会错过
目前想到的就是这些。
如果能提供错误日志信息就更好了,这样会更容易找出问题。
答案2
我还没有完全找到解决方案,但我认为我已经在这两个网站的帮助下确认了这个问题:
Java 测试器 - 显示软件在本地机器上看到的 Java 版本。
java-tester 网站指出 Oracle 于 2012 年 5 月 3 日更改了版本
注意:2012 年 5 月 3 日,Oracle 将 Windows 上默认安装的 Java 版本从 6 更改为 7。默认安装的最新版本 v6 是 Update 32。第一个默认版本 v7 是 Update 4。到 2012 年 5 月下旬,Linux 用户可以在 java.com 上获得版本 7 更新 4。OS X 似乎停留在 Apple 的 Java 6 上...
当我找到解决方案时,我会更新这个答案。