Lotus Domino从V6.5.3升级到8.5.2后的Java NoClassDefFoundError初始化错误

时间:2014-06-26 14:40:21

标签: java upgrade lotus-domino

我们已将Lotus Domino从6.5.3升级到8.5.2,升级后,我们在调用Java方法时遇到初始化错误。

这些类保存在一个位置,例如d:\ javaclasses,并在notes.ini中创建一个条目,如下所示 JavaUserClasses =。; d:\ javaclasses; d:\ javaclasses \ lib ... etc。

对java的所有调用都适用于版本6.5.3 但是它在8.5.2上不起作用。

我们没有更改任何java文件,只是从旧版本复制到同一位置的新版本服务器

注意:d:\ javaclasses类使用JDK1.3编译,Domino V6.5.3使用JDK1.3本机库, Domino V8.5.2使用内置的JDK1.6本机库

堆栈跟踪以供参考。

java.lang.NoClassDefFoundError: com.centtric.td.cprm.AppSource (initialization failure)
 at java.lang.J9VMInternals.initialize(J9VMInternals.java:140)
 at com.centtric.td.cprm.Coverage.<init>(Coverage.java:87)
 at com.centtric.td.cprm.Coverage.find(Coverage.java:572)
 at CPRMLib.deleteCoverage(CPRMLib.java:913)
 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
 at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:48)
 at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)
 at java.lang.reflect.Method.invoke(Method.java:600)
 at lotus.domino.JavaConnectInvoker.invoke(Unknown Source)
 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
 at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:48)
 at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)
 at java.lang.reflect.Method.invoke(Method.java:600)
 at lotus.domino.JavaConnectLoader.invoke(Unknown Source)
Caused by: 
java.lang.NullPointerException
 at com.centtric.connectors.JDBCConnector.closeStatements(JDBCConnector.java:484)
 at com.centtric.connectors.JDBCConnector.closeAll(JDBCConnector.java:431)
 at com.centtric.td.cprm.AppSource.init(AppSource.java:70)
 at com.centtric.td.cprm.AppSource.get(AppSource.java:79)
 at com.centtric.td.cprm.AppSource.<clinit>(AppSource.java:32)
 at java.lang.J9VMInternals.initializeImpl(Native Method)
 at java.lang.J9VMInternals.initialize(J9VMInternals.java:200)

1 个答案:

答案 0 :(得分:0)

很难说,但看起来您的新JVM要么缺少一些本机库,要么没有旧JVM所具有的相同类路径。你确定ini文件格式没有改变吗?

J9VMInternals是一个特定于IBM的类,负责类加载和填充。