java.lang.NoClassDefFoundError:org/json/JSONObject当java类在OAM服务器上运行时

java.lang.NoClassDefFoundError:org/json/JSONObject当java类在OAM服务器上运行时,java,json,oracle,manifest,Java,Json,Oracle,Manifest,当我在Oracle Access Manager上运行我的.class时,我得到了java.lang.NoClassDefFoundError:org/json/JSONObject 这是stacktrace: java.lang.NoClassDefFoundError: org/json/JSONObject at phillplugin.PhillPlugin.process(PhillPlugin.java:118) PhillPlugin.java:118只包含一个JSONObjec

当我在Oracle Access Manager上运行我的
.class
时,我得到了
java.lang.NoClassDefFoundError:org/json/JSONObject

这是stacktrace:

java.lang.NoClassDefFoundError: org/json/JSONObject
at phillplugin.PhillPlugin.process(PhillPlugin.java:118)
PhillPlugin.java:118
只包含一个
JSONObject

//第118行:
JSONObject x=新的JSONObject();
我使用的是JDeveloper IDE,我已经将
org.json.jar
包含在我的库和部署文件中

请注意,当我从一个简单的
main.class
执行它时,它运行得非常好

我必须将
org.json.jar
包含在部署
PhillPlugin.jar
的MANIFEST.MF文件中,我的操作如下:

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

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

我必须在
MANIFEST.MF
(参考)中包括外部库,正如我正确所做的那样,还包括最终
PhillPlugin.jar
中的
org.json.jar
以及
json
库 这样服务器就可以看到我的导入

以下是对我有效的示例:

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


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