Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sql-server-2005/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jsf 2 java.util.MissingResourceException:Can';找不到基本名称资源的捆绑包。应用程序,区域设置en_Jsf 2_Resourcebundle_Faces Config - Fatal编程技术网

Jsf 2 java.util.MissingResourceException:Can';找不到基本名称资源的捆绑包。应用程序,区域设置en

Jsf 2 java.util.MissingResourceException:Can';找不到基本名称资源的捆绑包。应用程序,区域设置en,jsf-2,resourcebundle,faces-config,Jsf 2,Resourcebundle,Faces Config,我的faces-config.xml如下所示 <?xml version="1.0" encoding="UTF-8"?> <faces-config xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.su

我的faces-config.xml如下所示

<?xml version="1.0" encoding="UTF-8"?>

<faces-config
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web- 
facesconfig_2_0.xsd"
version="2.0">
<application>
    <message-bundle>resources.application</message-bundle>
    <locale-config>
        <default-locale>en</default-locale>
    </locale-config>
</application>

</faces-config>

资源.应用
EN
Xhtml文件

<f:loadBundle basename="resources.application" var="msg"/>

我得到下面的例外

javax.faces.view.facelets.TagAttributeException: //D:/12c_Workspace/VNPO/WebContent/login.xhtml @9,59 <f:loadBundle basename="resources.application"> Can't find bundle for base name resources.application, locale en
    at com.sun.faces.facelets.tag.jsf.core.LoadBundleHandler.apply(LoadBundleHandler.java:233)
    at javax.faces.view.facelets.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:98)
    at com.sun.faces.facelets.compiler.NamespaceHandler.apply(NamespaceHandler.java:93)
    at javax.faces.view.facelets.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:98)
    at com.sun.faces.facelets.compiler.EncodingHandler.apply(EncodingHandler.java:86)
    at com.sun.faces.facelets.impl.DefaultFacelet.apply(DefaultFacelet.java:152)
    at com.sun.faces.application.view.FaceletViewHandlingStrategy.buildView(FaceletViewHandlingStrategy.java:774)
    at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:100)
    at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
    at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:139)
    at javax.faces.webapp.FacesServlet.service(FacesServlet.java:594)
    at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:242)
    at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:216)
    at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:132)
    at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:338)
    at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:25)
    at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:74)
    at weblogic.servlet.internal.RequestEventsFilter.doFilter(RequestEventsFilter.java:27)
    at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:74)
    at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.wrapRun(WebAppServletContext.java:3288)
    at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3254)
    at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
    at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120)
    at weblogic.servlet.provider.WlsSubjectHandle.run(WlsSubjectHandle.java:57)
    at weblogic.servlet.internal.WebAppServletContext.doSecuredExecute(WebAppServletContext.java:2163)
    at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2089)
    at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2074)
    at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1513)
    at weblogic.servlet.provider.ContainerSupportProviderImpl$WlsRequestExecutor.run(ContainerSupportProviderImpl.java:254)
    at weblogic.work.ExecuteThread.execute(ExecuteThread.java:256)
    at weblogic.work.ExecuteThread.run(ExecuteThread.java:221)
Caused by: java.util.MissingResourceException: Can't find bundle for base name resources.application, locale en
    at java.util.ResourceBundle.throwMissingResourceException(ResourceBundle.java:1427)
    at java.util.ResourceBundle.getBundleImpl(ResourceBundle.java:1250)
    at java.util.ResourceBundle.getBundle(ResourceBundle.java:952)
    at com.sun.faces.facelets.tag.jsf.core.LoadBundleHandler.apply(LoadBundleHandler.java:227)
javax.faces.view.facelets.TagAttributeException://D:/12c_Workspace/VNPO/WebContent/login.xhtml@9,59找不到基本名称资源的捆绑包。应用程序,区域设置en
位于com.sun.faces.facelets.tag.jsf.core.LoadBundleHandler.apply(LoadBundleHandler.java:233)
在javax.faces.view.facelets.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:98)
位于com.sun.faces.facelets.compiler.NamespaceHandler.apply(NamespaceHandler.java:93)
在javax.faces.view.facelets.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:98)
位于com.sun.faces.facelets.compiler.EncodingHandler.apply(EncodingHandler.java:86)
在com.sun.faces.facelets.impl.DefaultFacelet.apply(DefaultFacelet.java:152)上
位于com.sun.faces.application.view.FaceletViewHandlingStrategy.buildView(FaceletViewHandlingStrategy.java:774)
位于com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:100)
位于com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
在com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:139)上
位于javax.faces.webapp.FacesServlet.service(FacesServlet.java:594)
位于weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:242)
位于weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:216)
位于weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:132)
位于weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:338)
位于weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:25)
位于weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:74)
位于weblogic.servlet.internal.RequestEventsFilter.doFilter(RequestEventsFilter.java:27)
位于weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:74)
位于weblogic.servlet.internal.WebAppServletContext$servleinvocationAction.wrapRun(WebAppServletContext.java:3288)
在weblogic.servlet.internal.WebAppServletContext$servleinvocationAction.run(WebAppServletContext.java:3254)
位于weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
位于weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120)
在weblogic.servlet.provider.wlssobjecthandle.run(wlssobjecthandle.java:57)上
位于weblogic.servlet.internal.WebAppServletContext.doSecuredExecute(WebAppServletContext.java:2163)
位于weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2089)
位于weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2074)
位于weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1513)
位于weblogic.servlet.provider.ContainerSupportProviderImpl$WLSRequesteExecutor.run(ContainerSupportProviderImpl.java:254)
在weblogic.work.ExecuteThread.execute(ExecuteThread.java:256)
在weblogic.work.ExecuteThread.run(ExecuteThread.java:221)
原因:java.util.MissingResourceException:找不到基本名称resources.application、locale en的捆绑包
位于java.util.ResourceBundle.throwMissingResourceException(ResourceBundle.java:1427)
位于java.util.ResourceBundle.getBundleImpl(ResourceBundle.java:1250)
位于java.util.ResourceBundle.getBundle(ResourceBundle.java:952)
位于com.sun.faces.facelets.tag.jsf.core.LoadBundleHandler.apply(LoadBundleHandler.java:227)

这是如何导致的,我如何解决它?

异常清楚地表明,您在运行时类路径的
资源
包中没有
应用程序.properties
或至少没有
应用程序.properties
文件

就是这样。确保你有一个


与具体问题无关,我只想提醒大家,
是相互排斥的。要了解差异,请前往

您需要两件事:

  • messages.properties
    文件放在类路径中。最安全的方法是把它放在
    src/main/java/your/package/name
  • faces config.xml中配置它:
  • http://xmlns.jcp.org/xml/ns/javaee/web-facesconfig_2_2.xsd" version=“2.2”>

    
    您的.package.name.messages
    i18n
    

    请注意,在
    faces config.xml

    中不包含
    .properties
    后缀。如果您使用Maven,则必须将属性文件放在文件夹src/main/resources中,而不是放在src/main/java

    中,使用Eclipse和Windows:您必须复制2个文件

    • xxx项目xxx.properties

    • log4j.properties

    在这里:
    C:\Eclipse\contenner\TOMCAT\apache-TOMCAT-7\lib

    以下是您可以执行的操作:

    • 第一步:保留Maven文件以供安装和使用

    • 第二步:您需要在环境变量中设置Maven的类路径

    • 第三步:在到达Maven目录中的
      /bin
      目录后,在命令提示符下使用命令
      mvn Install
      安装Maven

    现在清理项目并部署Maven项目以运行。

    您好。我在“resources”文件夹中有“application.properties”文件。Package,而不是folder。在Java中,“folder”没有特殊意义,“Package”是一个文件夹,它实际上在运行时类路径中结束(通常包含Java类,但也可以包含属性文件等)。听起来你的类路径/构建/打包概念和/或项目结构搞砸了
        <application>
            <resource-bundle>
                <base-name>your.package.name.messages</base-name>
                <var>i18n</var>
            </resource-bundle>
        </application>
    
    </faces-config>