【发布时间】: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文件来引用它,只是将它包含在我的项目中不会解决问题。 -
从外观上看,您应该列出包名,但实际上您也列出了类名。