【问题标题】:NoClassDefFoundError while running java UDF from DB2从 DB2 运行 java UDF 时出现 NoClassDefFoundError
【发布时间】:2018-02-19 15:32:31
【问题描述】:

java.lang.NoClassDefFoundError: net/sourceforge/jgeocoder/us/AddressParser

我正在尝试从 DB2 创建一个 java UDF。

我在一个 Java 类中有一个函数,它又在一个 JAR(比如 JAR1)中。我的函数引用驻留在不同 JAR(比如 JAR2)中的外部函数。

试一试:

  • 将 JAR2 添加到我的 MANIFEST 文件的类路径中。
  • 我已经用 sqlj.db2_install_jar Proc.
  • 注册了 JAR1
  • 失败

尝试2:

  • 我已经用 sqlj.db2_install_jar Proc.
  • 注册了 JAR2
  • 在安装过程后在 DB2 服务器中找到 JAR 的位置。
  • 将 JAR2 添加到我的 MANIFEST 文件的类路径中。
  • 我已经用 sqlj.db2_install_jar Proc.
  • 注册了 JAR1
  • 失败

任何人都可以在这里指出我正确的方向吗??

谢谢

【问题讨论】:

  • 你怎么称呼db_install_jar()?具体来说,如何将 BLOB 定位器参数传递给它?您的 Db2 版本和平台是什么?
  • @mustaccio 我将 jar 文件作为 blob 存储到表中,然后使用子查询将其传递给函数。 DB2 版本 10.0 平台 linux。

标签: java db2 user-defined-functions


【解决方案1】:

我搞定了。

我有一个相同的类名和一个包名,我认为这造成了某种歧义。更改了它,一切似乎都按预期工作。

我还创建了一个可运行的 jar,它将 2 个 jar 合并为一个。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-11-28
    • 2018-06-16
    • 1970-01-01
    • 1970-01-01
    • 2014-03-06
    • 1970-01-01
    • 2023-04-08
    • 1970-01-01
    相关资源
    最近更新 更多