我们已将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)
答案 0 :(得分:0)
很难说,但看起来您的新JVM要么缺少一些本机库,要么没有旧JVM所具有的相同类路径。你确定ini文件格式没有改变吗?
J9VMInternals
是一个特定于IBM的类,负责类加载和填充。