Oracle MAF:使用 cordova 插件时出现部署错误

Oracle MAF : Deployment error when using cordova plugin

我尝试将 cordova 插件集成到 Oracle MAF 应用程序中以访问图像捕获、音频和视频等不同功能。

例如,我尝试使用 Github 中的 cordova-plugin-media-capture。以下是解决方法,我已将下载的插件添加到 MAF 应用程序的其他插件中。

请注意,我在项目外安装了插件,因为我在项目内安装时遇到了问题。 (您可以通过查看此 post 的编辑历史来了解详细信息)。

现在,当我尝试部署应用程序时,我得到 INTERNAL_ERROR,下面是供您参考的堆栈跟踪。

错误日志:

[06:07:41 PM] Installing "org.apache.cordova.network-information" for android
[06:07:41 PM] Installing "cordova-plugin-media-capture" for android
[06:07:41 PM] Fetching plugin "cordova-plugin-file" via plugin registry
[06:07:41 PM] Error Code : INTERNAL_ERROR
[06:07:41 PM] npm http GET http://registry.cordova.io/cordova-plugin-file
[06:07:41 PM] npm oracle.maf.mafhelper.api.MafHelperException: oracle.maf.mafhelper.api.MafHelperException: java.lang.Exception
[06:07:41 PM] at oracle.maf.mafhelper.internal.utils.MafHelperInternalUtilities.runProcess(Unknown Source)
[06:07:41 PM] at oracle.maf.mafhelper.internal.utils.MafHelperInternalUtilities.executeCmd(Unknown Source)
[06:07:41 PM] at oracle.maf.mafhelper.internal.utils.MafHelperInternalUtilities.addPlugin(Unknown Source)
[06:07:41 PM] at oracle.maf.mafhelper.internal.utils.MafHelperInternalUtilities.deploy(Unknown Source)
[06:07:41 PM] at oracle.maf.mafhelper.MafHelperMain.main(Unknown Source)
[06:07:41 PM] Caused by: oracle.maf.mafhelper.api.MafHelperException: java.lang.Exception
[06:07:41 PM] ... 5 more
[06:07:41 PM] Caused by: java.lang.Exception
[06:07:41 PM] at oracle.maf.mafhelper.api.MafHelperException.<init>(Unknown Source)
[06:07:41 PM] ... 5 more
[06:07:41 PM] Picked up _JAVA_OPTIONS: -Xmx512M
[06:07:41 PM] Shutting down Android Debug Bridge server...
[06:07:41 PM] Deployment cancelled.
[06:07:41 PM] ----  Deployment incomplete  ----.
[06:07:41 PM] An error occurred deploying Cordova plugins. (oracle.adfmf.framework.dt.deploy.android.deployers.plugins.AndroidPluginDeployer)

我用谷歌搜索 got the link for this issue。以下是我的尝试,但其中 none 有效。

如果您有任何想法,请分享您的想法。

要解决此问题,请将插件保留在项目之外(您的系统本地驱动器)并参考 maf-application.xml 文件使用以下步骤。

  • 转到 JDeveloper 中的 Application Resources 块。
  • 描述下打开maf-application.xml -> ADF META-INF 文件夹。
  • maf-application.xml 文件被打开,确保你有 select Overview模式。
  • 然后按照本教程 (Registering Additional Plugins in Your MAF Application) 添加其他插件(您要使用)。
  • 确保您未选中不需要的核心插件(例如相机 - 当您添加 cordova 媒体捕获插件时)。由于这会导致 MAF 应用程序发生冲突,因此在构建部署文件时需要使用哪一个。
  • 您可以打开maf-plugin.xml文件确认是否添加了额外的插件。

就是这样,部署应用程序并检查。

我还看到了 plugins.xml 文件随时间损坏的地方。如果发生这种情况,请在 maf-plugin.xml 中手动清除所有插件。然后,在 maf-application.xml.

中重新 select 所需的插件