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 有效。
- 缩短androidsdk路径、应用程序路径、插件路径。
- 没有space.
的所有路径
- 运行 JDeveloper 作为管理员。
如果您有任何想法,请分享您的想法。
要解决此问题,请将插件保留在项目之外(您的系统本地驱动器)并参考 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 所需的插件
我尝试将 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 有效。
- 缩短androidsdk路径、应用程序路径、插件路径。
- 没有space. 的所有路径
- 运行 JDeveloper 作为管理员。
如果您有任何想法,请分享您的想法。
要解决此问题,请将插件保留在项目之外(您的系统本地驱动器)并参考 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 所需的插件