【问题标题】:java.lang.NoClassDefFoundError: org/json/JSONObject when Java Class runs on OAM Serverjava.lang.NoClassDefFoundError: org/json/JSONObject 当 Java 类在 OAM 服务器上运行时
【发布时间】:2019-12-06 14:29:09
【问题描述】:

当我在 Oracle Access Manager

上运行 .class 时,我收到了 java.lang.NoClassDefFoundError: org/json/JSONObject

这是堆栈跟踪:

java.lang.NoClassDefFoundError: org/json/JSONObject
at phillplugin.PhillPlugin.process(PhillPlugin.java:118)

PhillPlugin.java:118 仅包含 JSONObject 实例的创建

//Line 118:
 JSONObject x = new JSONObject();

我正在使用 JDeveloper IDE,我已将 org.json.jar 包含在我的 Libraries 和我的 中部署配置文件

请注意,当我从一个简单的main.class 执行它时,它会完美运行

我必须在部署PhillPlugin.jar 的 MANIFEST.MF 文件中包含org.json.jar,我已按如下方式完成:

Manifest-Version: 1.0
Bundle-Version: 10
Bundle-Name: PhillPlugin
Bundle-Activator: phillplugin.PhillPlugin
Bundle-ManifestVersion: 2
Import-Package: 
 org.osgi.framework;version="1.3.0",
 oracle.security.am.plugin,
 oracle.security.am.plugin.authn,
 oracle.security.am.plugin.impl,
 oracle.security.am.plugin.api,
 oracle.security.am.common.utilities.principal,
 oracle.security.idm,
 javax.security.auth,
 org.json.JSONObject;resolution:=optional,
 org.json.JSONArray;resolution:=optional,
 org.json;resolution:=optional
Export-Package: 
 org.json.JSONObject;resolution:=optional,
 org.json.JSONArray;resolution:=optional,
 org.json;resolution:=optional
Bundle-SymbolicName: PhillPlugin
Bundle-ClassPath: org.json.jar,utilities.jar,oam-plugin.jar,felix.jar,identity-provider.jar

但服务器仍然无法识别我的导入

让我提一下PhillPlugin.jar 包含:

  • MANIFEST.MF
  • PhillPlugin.class - 第 118 行仅在服务器上给我错误
  • PhillPlugin.xml

我很乐意为您提供您需要的任何其他额外信息

【问题讨论】:

  • 我看到了,OAM服务器不同,我需要通过我的manifest.mf文件来引用它,只是将它包含在我的项目中不会解决问题。
  • 从外观上看,您应该列出包名,但实际上您也列出了类名。

标签: java json oracle manifest


【解决方案1】:

我必须像我正确的那样在MANIFEST.MF(reference) 中包含外部库,在最终的PhillPlugin.jarjson 库中也包含org.json.jar 这样服务器就可以看到我的导入了

这是对我有用的示例:

请注意,即使 org 文件夹丢失或 org.json.jar 丢失,也会触发异常

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-18
    • 2017-09-15
    相关资源
    最近更新 更多