【问题标题】:Call a class of a jar from SSJS xPages从 SSJS xPages 调用一个 jar 类
【发布时间】:2012-12-05 00:12:54
【问题描述】:

我想问一个关于在 xPages 上的 SSJS(服务器端 JavaScript)中使用 Java 类的问题。我创建了一个简单的 Java 类“HelloWorld”并将其导出到 jar 文件中。然后我尝试在 xPage 上从 SSJS 调用它,但没有成功。这些是我尝试过的一些事情:

  1. 将 jar 添加到 .nsf 的构建路径(jar 和 nsf 都是本地的)
  2. 将 jar 添加到 nsf 的 WEB_INF/lib 文件夹中。
  3. 直接从SSJS调用jar的类为

    var a = new com.myself.testJava.HelloWorld();

  4. 从我在 nsf 中创建的另一个 Java 类调用该类,然后从 SSJS 调用第二个类。

我总是收到错误 500“HTTP Web 服务器:命令未处理异常”

我还尝试在服务器上运行我的 xpage 并将 jar 文件添加到 jvm/lib/ext 文件夹。在这种情况下,错误是找不到“com”,我理解这意味着找不到该类。

我已经在 nsf 中创建了一个 java 类,然后从 SSJS 调用,但我希望能够使用 3rd 方类。

您能否提供有关正确步骤的任何信息?

提前非常感谢!

【问题讨论】:

  • 将 JAR 添加到 WEB-INF/lib 对我来说没有任何问题...

标签: xpages xpages-ssjs


【解决方案1】:

在您的 SSJS 顶部,您需要执行 ImportPackage。

importPackage(com.myself.testJava)

请注意,您需要导入包而不是类。现在你的 SSJS 的其余部分应该可以工作了。

【讨论】:

  • 谢谢德克兰!我添加了 importPackage 并且它起作用了!非常感谢
【解决方案2】:

您的课程中似乎有一些错误 - 可能是未解决的编译问题?

请查看服务器上 xpages 日志文件中记录的内容。

您应该能够在文件 error-log-0.xml 中找到异常(具有完整堆栈) '\Data\domino\workspace\logs' 文件夹。

【讨论】:

  • 我也尝试过使用 JavaMail API 的 jar,以确保这不是我的 jar 的问题。正如@Declan Lynch 指出的那样,我应该添加 importPackage。
  • 我很确定 importPackage 不是强制性的。我在我的应用程序周围使用了完整的限定名称,它们就像一个魅力。
【解决方案3】:

所有这些都应该可以工作,但可能需要一些微调。

试试你的 2. 并使用 Domino Designer 将 JAR 放在构建路径中:Java 构建路径 -> 库 -> 添加 JAR。

【讨论】:

  • 感谢您的回复,但问题似乎是我必须将 importPackage 添加到 SSJS 代码。
  • 有趣。我通常不使用它。导入是可选的,就像在 Java 中一样。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多