【发布时间】:2014-06-17 23:56:22
【问题描述】:
我希望将 Java 库存储在我的 Oracle 数据库中。请注意,这是我第一次这样做。该库是pd4ml。它由两个 jar 组成,其中包含已编译的类。
pd4ml.jar-
ss_css2.jar(pd4ml.jar 需要)
由于使用 Toad 加载它们不起作用(Toad 说它们已成功加载,但它们没有出现在任何地方)我进入命令行 (loadjava) 并成功加载 ss_css2.jar。它的所有类都已加载和编译。
第二个库pd4ml.jar 也已加载,但有几个类无法编译。我运行 ojvmtc 来尝试解析引用。我收到以下消息:
找不到以下类:
javax/servlet/http/HttpServletResponseWrapper
org/zefer/pd4ml/npdf/parser/c
第一个,如果我的理解正确的话,应该是11g r2内置的JRE的一部分。浏览 sys 架构,它似乎不存在。
第二个是 jar 库的一部分。现在我不太确定编译后的 Java 的结构,我以前从未研究过它,但我在 org/zefer/pd4ml/npdf/parser/ 中有几个 .class 文件,它们是:c$_b、c$_c... . 到c$_g。没有只有c。
当传递命令行参数或从 Eclipse 运行它时,该库在我的本地计算机上运行良好,因此它应该可以工作。尝试在 Toad 中编译它们时没有显示特定的错误消息。我感觉这是依赖项/类路径问题。
关于我应该如何确保 pd4ml.jar 中包含的类可以正确访问 ss_css2.jar 中的类的任何提示,或任何潜在的调查原因?也许是一种从 Java 代码中获取详细错误消息的方法?
【问题讨论】:
-
Documentation 用于命令行中的 loadjava 命令。当您第一次这样做时,您可能会遇到不同的问题。所以最好在上使用调试选项
-
我使用 loadjava 并没有取得更大的成功(我在原始帖子中提到了“运行命令行”,这可能不太清楚 - 我已经编辑过)。使用
-verbose命令给了我几个ORA-2953没有任何更详细的信息:它们与在 Toad 中显示为无效的相同。 -
你在加载 jar 文件时尝试过使用调试选项吗?
-
两者都与
-fileoutput一起完成(参考/检查错误非常方便)唉,没有设法解决问题。我应该补充一点,我尝试使用-genmissing选项,它确实摆脱了ORA-29534或ORA-29519但给了我 Java 错误 (NoSuchMethod)。
标签: java oracle11g java-stored-procedures loadjava