• ADF错误unable to find bundle for:XXX


    部署ADF应用时,页面打不开,服务器报以下错误:

    java.util.MissingResourceException: unable to find bundle for:LimsContacpOutApplyUIBundle
        at oracle.javatools.resourcebundle.BundleFactory.getMap(BundleFactory.java:118)
        at oracle.javatools.resourcebundle.BundleFactory.getMap(BundleFactory.java:55)
        at oracle.javatools.resourcebundle.BundleVariableResolver$LocaleMap.get(BundleVariableResolver.java:69)
        at oracle.javatools.resourcebundle.BundleVariableResolver$LocaleMap.get(BundleVariableResolver.java:56)
        at javax.el.MapELResolver.getValue(MapELResolver.java:164)
        at com.sun.faces.el.DemuxCompositeELResolver._getValue(DemuxCompositeELResolver.java:173)
        at com.sun.faces.el.DemuxCompositeELResolver.getValue(DemuxCompositeELResolver.java:200)

    但我确定资源文件LimsContacpOutApplyUIBundle是存在的,而且页面上也正确引用了

    <c:set var="limscontacpoutapplyuiBundle"
              value="#{adfBundle['LimsContacpOutApplyUIBundle']}"/>

    JDevelper页面编辑面板上资源文本也可以正常显示,试了各种办法,问题还是没解决,把jsff页面引用资源文件的EL全部删除,在本地可以run得起来,但和别的应用整合起来的时候还是报一样的错误。

    另外一个解决方法是:

    删掉资源文件,在文本属性上选择资源文件时JDeveloper会自动再创建个资源文件,虽然这样可以运行,但资源文件存放的目录有点奇怪,见截图:

    ws.type这两个文件夹不是笔者指定的,看到这就想到,程序应该是到ws.type这个目录下搜索资源文件,还没改之前是没这个目录的,资源文件存放在view目录下,这个目录应该是存在某个配置文件里面,使用JDeveloper的搜索功能(Search->Find in Files),在当前工程搜索ws.type这个关键字,最后在XXXXUI.jpr文件中找到这样一段xml:

    <value n="defaultPackage" v="org.lims.contacp.outapply.ws.type"/>

    看到这就应该知道,这个是默认目录配置项,笔者所期待的默认目录应该是org.lims.contacp.outapply.view原先的资源文件也是存在该目录下,可能是某些操作将默认目录给改了,而且看对资源文件引用的jsff片段就知道

    <c:set var="limscontacpoutapplyuiBundle"
              value="#{adfBundle['LimsContacpOutApplyUIBundle']}"/>

    这里面是没有目录信息的,也就是说程序对该文件的定位肯定是基于某个配置项的,而且上面自动生成ws.type这两个目录就可以推断该目录就是XXXUI.jpr里面的这个

    defaultPackage,将defaultPackage的值改成资源文件所在的目录,重新部署应用,错误消失。

    这个错误给我们一点经验就是,当服务器找不到某些文件,但我们确定该文件是存在的,这时候我们就应该去.jpr文件里面查看是不是某些默认的配置项给配错了。

  • 相关阅读:
    云中树莓派(5):利用 AWS IoT Greengrass 进行 IoT 边缘计算
    乐观锁 与 悲观锁 来解决数据库并发问题
    Python二维数组构造
    一次问题追查----短字符串签名算法引发的bug
    C++ assert 断言使用
    并查集(Union-Find)算法
    linux shell grep/awk/sed 匹配tab
    C++ 变量默认初始值不确定(代码测试)
    linux 查看机器内存方法 (free命令)
    html table奇偶行颜色设置 (CSS选择器)
  • 原文地址:https://www.cnblogs.com/weisuoc/p/unable-to-find-bundle.html
Copyright © 2020-2023  润新知