在Java库中,lotus.domino.Session类方法createDateTime()抛出NullPointerException

在Java库中,lotus.domino.Session类方法createDateTime()抛出NullPointerException,java,xpages,lotus-domino,lotus,Java,Xpages,Lotus Domino,Lotus,当从XPage SSJS调用Domino Designer Java库文件夹中的Java文件(而不是Agents文件夹中的Java代理)时,会对标准方法(如createDateTime())抛出NullPointerException: 如果Java代码保存为Java代理,则不会引发异常 在Java中,有没有其他方法可以不用session.createDateTime()方法而将NotesDateTime字段设置为“Now” 使用Java库(不是代理)时,是否扩展了AgentBase,或者是否有

当从XPage SSJS调用Domino Designer Java库文件夹中的Java文件(而不是Agents文件夹中的Java代理)时,会对标准方法(如
createDateTime()
)抛出NullPointerException:

如果Java代码保存为Java代理,则不会引发异常

在Java中,有没有其他方法可以不用session.createDateTime()方法而将NotesDateTime字段设置为“Now”

使用Java库(不是代理)时,是否扩展了AgentBase,或者是否有其他扩展可供使用

还有哪些其他方法可以帮助创建lotus.domino.Session

更新:plugin.xml中,我添加了com.ibm.xsp.extlib作为依赖项,并且编译的Java类没有错误

XPages属性,选中页面生成Xpage库com.ibm.xsp.extlib.Library

从服务器控制台,告诉http osgi ss com.ibm.xsp.extlib返回:

> tell http osgi ss com.ibm.xsp.extlib
osgi> "Framework is launched."
id  State       Bundle
114 RESOLVED    com.ibm.xsp.extlib.controls.nl1_9.0.1.v10_00_20180115-1058
                Master=117
115 RESOLVED    com.ibm.xsp.extlib.controls.nl2_9.0.1.v10_00_20180115-1058
                Master=117
116 RESOLVED    com.ibm.xsp.extlib.controls.nl3_9.0.1.v10_00_20180115-1058
                Master=117
117 STARTING    com.ibm.xsp.extlib.controls_9.0.1.v10_00_20180115-1058
                Fragments=116, 115, 114
118 RESOLVED    com.ibm.xsp.extlib.core.nl1_9.0.1.v10_00_20180115-1058
                Master=121
119 RESOLVED    com.ibm.xsp.extlib.core.nl2_9.0.1.v10_00_20180115-1058
                Master=121
120 RESOLVED    com.ibm.xsp.extlib.core.nl3_9.0.1.v10_00_20180115-1058
                Master=121
121 STARTING    com.ibm.xsp.extlib.core_9.0.1.v10_00_20180115-1058
                Fragments=119, 118, 120
122 RESOLVED    com.ibm.xsp.extlib.domino.nl1_9.0.1.v10_00_20180115-1058
                Master=125
123 RESOLVED    com.ibm.xsp.extlib.domino.nl2_9.0.1.v10_00_20180115-1058
                Master=125
124 RESOLVED    com.ibm.xsp.extlib.domino.nl3_9.0.1.v10_00_20180115-1058
                Master=125
125 STARTING    com.ibm.xsp.extlib.domino_9.0.1.v10_00_20180115-1058
                Fragments=123, 124, 122
126 RESOLVED    com.ibm.xsp.extlib.mobile.nl1_9.0.1.v10_00_20180115-1058
                Master=129
127 RESOLVED    com.ibm.xsp.extlib.mobile.nl2_9.0.1.v10_00_20180115-1058
                Master=129
128 RESOLVED    com.ibm.xsp.extlib.mobile.nl3_9.0.1.v10_00_20180115-1058
                Master=129
129 STARTING    com.ibm.xsp.extlib.mobile_9.0.1.v10_00_20180115-1058
                Fragments=127, 128, 126
130 RESOLVED    com.ibm.xsp.extlib.oneui.nl1_9.0.1.v10_00_20180115-1058
                Master=133
131 RESOLVED    com.ibm.xsp.extlib.oneui.nl2_9.0.1.v10_00_20180115-1058
                Master=133
132 RESOLVED    com.ibm.xsp.extlib.oneui.nl3_9.0.1.v10_00_20180115-1058
                Master=133
133 STARTING    com.ibm.xsp.extlib.oneui_9.0.1.v10_00_20180115-1058
                Fragments=132, 130, 131
134 RESOLVED    com.ibm.xsp.extlib.relational.nl1_9.0.1.v10_00_20180115-1058
                Master=137
135 RESOLVED    com.ibm.xsp.extlib.relational.nl2_9.0.1.v10_00_20180115-1058
                Master=137
136 RESOLVED    com.ibm.xsp.extlib.relational.nl3_9.0.1.v10_00_20180115-1058
                Master=137
137 STARTING    com.ibm.xsp.extlib.relational_9.0.1.v10_00_20180115-1058
                Fragments=135, 136, 134
138 STARTING    com.ibm.xsp.extlib_9.0.1.v10_00_20180115-1058
请注意,日志显示启动com.ibm.xsp.extlib_9.0.1.v10_00_20180115-1058

这意味着什么?我还向服务器添加了一个updatesite.nsf文件,并用OSGI\u HTTP\u DYNAMIC\u BUNDLES=install\update site.nsf更新了Notes.ini

启动HTTP时,没有消息表明OSGI正在加载到运行时

尝试设置会话时出现的错误:

NoClassDefFoundError:com/ibm/xsp/extlib/util/ExtLibUtil

Domino9.0.1FP10服务器中是否已包含此类?

使用

Session s = ExtLibUtil.getCurrentSession();
随后的代码行将正常工作

public class Tools  {
  ...
  public void yourMethod() {
    Session s   = ExtLibUtil.getCurrentSession();
    DateTime dt = s.createDateTime("Today");
    String n    = s.getEffectiveUserName();
    ...
  }
}
您使用的函数
getSession()
仅适用于Java代理

不要忘记将扩展库包括到项目中:


如何导入com.ibm.xsp.extlib.util.ExtLibUtil?说名称无法解析…我找不到com.ibm.xsp.extlib.util库。它在哪里?我找到了com.ibm.xsp.extlib.core、com.ibm.xsp.extlib.domino、com.ibm.xsp.extlib.mobile和其他,但没有找到com.ibm.xsp.extlib.util。我是从Package Explorer、plugin.xml依赖项中找到的tab.在尝试设置会话时仍会出错:NoClassDefFoundError:com/ibm/xsp/extlib/util/ExtLibUtil这个类不是已经包含在运行FP10的Domino9服务器中了吗?出于某种原因,上面的库从开始更改为解析花了很长时间。它现在正在工作。
public class Tools  {
  ...
  public void yourMethod() {
    Session s   = ExtLibUtil.getCurrentSession();
    DateTime dt = s.createDateTime("Today");
    String n    = s.getEffectiveUserName();
    ...
  }
}