Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/16.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
Java Myfaces ServletContext';空';初始化_Java_Websphere Liberty_Websphere 8 - Fatal编程技术网

Java Myfaces ServletContext';空';初始化

Java Myfaces ServletContext';空';初始化,java,websphere-liberty,websphere-8,Java,Websphere Liberty,Websphere 8,我正在将一个应用程序从WebSphere8.5.5.x环境迁移到liberty 20.0.0.3。除了JSF部分,我的大部分工作正常。初始化有问题,我不知道它是什么,也不知道如何调试它。因为这个库是由liberty提供的,所以我不能只设置断点进行调试 我可以作以下比较 Websphere [3/04/20 12:42:32:848 CEST] 00000081 DefaultFacesC I Reading standard config META-INF/standard-faces-co

我正在将一个应用程序从WebSphere8.5.5.x环境迁移到liberty 20.0.0.3。除了JSF部分,我的大部分工作正常。初始化有问题,我不知道它是什么,也不知道如何调试它。因为这个库是由liberty提供的,所以我不能只设置断点进行调试

我可以作以下比较

Websphere

[3/04/20 12:42:32:848 CEST] 00000081 DefaultFacesC I   Reading standard config META-INF/standard-faces-config.xml
[3/04/20 12:42:32:961 CEST] 00000081 DefaultFacesC I   Reading config /WEB-INF/faces-config.xml
[3/04/20 12:42:35:590 CEST] 00000081 DefaultFacesC I   Reading config : wsjar:file:/C:/IBM/WebSphere/AppServer/profiles/AppSrv01/installedApps/WDL0000002Node01Cell/identiteiten-rollen-web-ear_ear.ear/identiteiten-rollen-war.war/WEB-INF/lib/primefaces-5.0.jar!/META-INF/faces-config.xml
[3/04/20 12:42:35:903 CEST] 00000081 ApplicationIm I   Couldn't discover the current project stage, using Production
[3/04/20 12:42:35:903 CEST] 00000081 FacesConfigur I   Serialization provider : class org.apache.myfaces.shared_impl.util.serial.DefaultSerialFactory
[3/04/20 12:42:35:904 CEST] 00000081 AbstractFaces I   ServletContext 'C:\IBM\WebSphere\AppServer\profiles\AppSrv01\installedApps\WDL0000002Node01Cell\identiteiten-rollen-web-ear_ear.ear\identiteiten-rollen-war.war' initialized.
[3/04/20 12:42:35:906 CEST] 00000081 PostConstruct I   Running on PrimeFaces 5.0
自由

[3/04/20 12:32:38:839 CEST] 0000002c org.apache.myfaces.config.DefaultFacesConfigurationProvider  I Reading standard config META-INF/standard-faces-config.xml
[3/04/20 12:32:38:941 CEST] 0000002c org.apache.myfaces.config.DefaultFacesConfigurationProvider  I Reading config /WEB-INF/faces-config.xml
[3/04/20 12:32:39:157 CEST] 0000002c org.apache.myfaces.config.DefaultFacesConfigurationProvider  I Reading config : jar:file:/C:/Liberty/identiteiten-rollen-web-ear/wlp/usr/servers/wlp-identiteiten-rollen-web/workarea/org.eclipse.osgi/57/data/cache/com.ibm.ws.app.manager_77/.cache/.cache/identiteiten-rollen-war.war/WEB-INF/lib/primefaces-5.0.jar!/META-INF/faces-config.xml
[3/04/20 12:32:39:167 CEST] 0000002c org.apache.myfaces.config.DefaultFacesConfigurationProvider  I Reading config : jar:file:/C:/Liberty/identiteiten-rollen-web-ear/wlp/usr/servers/wlp-identiteiten-rollen-web/workarea/org.eclipse.osgi/57/data/cache/com.ibm.ws.app.manager_77/.cache/.cache/identiteiten-rollen-war.war/WEB-INF/lib/primefaces-5.0.jar!/META-INF/faces-config.xml
[3/04/20 12:32:39:575 CEST] 0000002c org.apache.myfaces.application.ApplicationImpl               I Couldn't discover the current project stage, using Production
[3/04/20 12:32:39:576 CEST] 0000002c org.apache.myfaces.config.FacesConfigurator                  I Serialization provider : class org.apache.myfaces.shared_impl.util.serial.DefaultSerialFactory
[3/04/20 12:32:39:609 CEST] 0000002c org.apache.myfaces.webapp.AbstractFacesInitializer           I ServletContext 'null' initialized.
[3/04/20 12:32:39:612 CEST] 0000002c org.primefaces.webapp.PostConstructApplicationEventListener  I Running on PrimeFaces 5.0
[3/04/20 12:32:39:612 CEST] 0000002c org.primefaces.webapp.PostConstructApplicationEventListener  I Running on PrimeFaces 5.0
第一件奇怪的事是,他在liberty设置中做了两次,第二件事是ServletContext为“null”

可能我在web.xml或faces-config.xml中缺少一个设置是错误的。我不确定,websphere可能会比liberty更宽容一点,并为我修复一些东西

有没有人有过加载myfaces的经验

更新信息

web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app 
        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-app_3_0.xsd"
        id="identiteitenRollenWarId" 
        version="3.0" >
    <display-name>identiteiten-rollen-war</display-name>

    <context-param>  
        <param-name>primefaces.THEME</param-name>  
        <param-value>b2e</param-value>  
    </context-param>
    <context-param>
        <param-name>javax.faces.DATETIMECONVERTER_DEFAULT_TIMEZONE_IS_SYSTEM_TIMEZONE</param-name>
        <param-value>true</param-value>
    </context-param>    
    <context-param>
        <description>
            The location where state information is saved.
            Valid values are 'server' (typically saved in HttpSession) and 'client' (typically
            saved as a hidden field in the form.
            Default is server.
        </description>
        <param-name>javax.faces.STATE_SAVING_METHOD</param-name>
        <param-value>server</param-value>
    </context-param>
    <!-- krijg hier altijd warning voor:  /WEB-INF/faces-config.xml has been specified in the javax.faces.CONFIG_FILES context parameter of the deployment descriptor. This will automatically be removed, if we wouldn't do this, it would be loaded twice.  See JSF spec 1.1, 10.3.2 
    <context-param>
        <description>
            Comma-delimited list of context-relative resource paths under which the JSF implementation
            will look for application configuration resources, before loading a configuration resource
            named /WEB-INF/faces-config.xml (if such a resource exists).
        </description>
        <param-name>javax.faces.CONFIG_FILES</param-name>
        <param-value>/WEB-INF/faces-config.xml</param-value>
    </context-param>
     -->    
    <context-param>
        <description>
            The default suffix for extension-mapped resources that contain JSF components.
            Default is '.jsp'.
        </description>
        <param-name>javax.faces.DEFAULT_SUFFIX</param-name>
        <param-value>.xhtml</param-value>
    </context-param>    
    <context-param>
        <description>
            Monitors Faces JSP files for modifications and synchronizes a running server with
            the changes without restarting the server. If this parameter is set to false or
            removed from the deployment descriptor, any changes made to Faces JSP files may
            not be seen by the server until it is restarted. This parameter is usually set
            to true while the Faces JSP files are being developed and debugged in order to
            improve the performance of the development environment.
        </description>
        <param-name>com.ibm.ws.jsf.JSP_UPDATE_CHECK</param-name>
        <param-value>true</param-value>
    </context-param>
    <context-param>
        <description>
            Load JSF runtime when the application server starts up. If this parameter is set to false or removed,
            JSF runtime will be loaded and initialized when the first JSF request is processed.
            This may disable custom JSF extensions, such as factories defined in the project.
        </description>
        <param-name>com.ibm.ws.jsf.LOAD_FACES_CONFIG_AT_STARTUP</param-name>
        <param-value>true</param-value>
    </context-param>
    <context-param>
        <param-name>javax.faces.INTERPRET_EMPTY_STRING_SUBMITTED_VALUES_AS_NULL</param-name>
        <param-value>true</param-value>
    </context-param>
    <context-param>
        <param-name>facelets.LIBRARIES</param-name>
        <param-value>/WEB-INF/retibo-taglib.xml</param-value>
    </context-param>
    <context-param>
        <param-name>facelets.SKIP_COMMENTS</param-name>
        <param-value>true</param-value>
    </context-param>

    <filter>
        <filter-name>UserFilter</filter-name>
        <filter-class>be.delijn.retibo.identiteitenrollen.common.view.filter.IdentiteitenUserFilter</filter-class>
    </filter>
    <filter>
        <filter-name>Log4JAdminFilter</filter-name>
        <filter-class>be.delijn.retibo.view.filter.Log4JAdminFilter</filter-class>
    </filter>
    <filter>
        <filter-name>IE9Filter</filter-name>
        <filter-class>be.delijn.retibo.view.filter.IE9Filter</filter-class>
    </filter>
    <filter>
        <filter-name>PrimeFaces FileUpload Filter</filter-name>
        <filter-class>org.primefaces.webapp.filter.FileUploadFilter</filter-class>
    </filter>   

    <filter-mapping>
        <filter-name>PrimeFaces FileUpload Filter</filter-name>
        <servlet-name>Faces Servlet</servlet-name>
    </filter-mapping>
    <filter-mapping>
        <filter-name>IE9Filter</filter-name>
        <url-pattern>*.faces</url-pattern>
    </filter-mapping>
    <filter-mapping>
        <filter-name>Log4JAdminFilter</filter-name>
        <url-pattern>/pages/log4jAdmin.jsp</url-pattern>
    </filter-mapping>
    <filter-mapping>
        <filter-name>UserFilter</filter-name>
        <url-pattern>*.faces</url-pattern>
    </filter-mapping>   

    <servlet>
        <servlet-name>Faces Servlet</servlet-name>
        <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
        <load-on-startup>-1</load-on-startup>
    </servlet>  

    <servlet-mapping>
        <servlet-name>Faces Servlet</servlet-name>
        <url-pattern>*.faces</url-pattern>
    </servlet-mapping>
    <servlet-mapping>
        <servlet-name>Faces Servlet</servlet-name>
        <url-pattern>/faces/*</url-pattern>
    </servlet-mapping>  

    <welcome-file-list>
        <welcome-file>/index.jsp</welcome-file>
    </welcome-file-list>

    <security-constraint>
        <display-name>securityConstraint</display-name>
        <web-resource-collection>
            <web-resource-name>AllesBeveiligd</web-resource-name>
            <description>Alle beveiligde pagina's</description>
            <url-pattern>/pages/*</url-pattern>
        </web-resource-collection>
        <auth-constraint>
            <description/>
            <role-name>MedewerkerPersoneel</role-name>
        </auth-constraint>
    </security-constraint>
    <login-config>
        <auth-method>FORM</auth-method>
        <form-login-config>
            <form-login-page>/login.faces</form-login-page>
            <form-error-page>/login.faces?error=true</form-error-page>
        </form-login-config>
    </login-config>
    <security-role>
        <description/>
        <role-name>MedewerkerPersoneel</role-name>
    </security-role>

    <servlet>
        <servlet-name>Happy Servlet</servlet-name>
        <servlet-class>be.delijn.retibo.identiteitenrollen.common.view.IamHappyServlet</servlet-class>
        <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet-mapping>
        <servlet-name>Happy Servlet</servlet-name>
        <url-pattern>happy*</url-pattern>
    </servlet-mapping>

    <resource-ref>
        <description />
        <res-ref-name>identiteitenDataSource</res-ref-name>
        <res-type>javax.sql.DataSource</res-type>
        <res-auth>Application</res-auth>
        <res-sharing-scope>Shareable</res-sharing-scope>
    </resource-ref>
    <resource-ref>
        <res-ref-name>log4j_identiteiten_rollen</res-ref-name>
        <res-type>java.net.URL</res-type>
        <res-auth>Container</res-auth>
    </resource-ref>
    <resource-ref>
        <description />
        <res-ref-name>url/biztalkRolToekenningMeldingServiceHost</res-ref-name>
        <res-type>java.net.URL</res-type>
        <res-auth>Container</res-auth>
        <res-sharing-scope>Shareable</res-sharing-scope>
    </resource-ref>
    <resource-ref>
        <description />
        <res-ref-name>identiteitenCacheConfig</res-ref-name>
        <res-type>java.net.URL</res-type>
        <res-auth>Container</res-auth>
        <res-sharing-scope>Shareable</res-sharing-scope>
    </resource-ref>

    <resource-env-ref>
        <description>identiteiten_rollen_webservices</description>
        <resource-env-ref-name>properties/identiteiten_rollen_webservices</resource-env-ref-name>
        <resource-env-ref-type>java.util.Properties</resource-env-ref-type>
    </resource-env-ref>

    <resource-env-ref>
        <description>identiteiten_rollen_webservices 2</description>
        <resource-env-ref-name>properties/webservices</resource-env-ref-name>
        <resource-env-ref-type>java.util.Properties</resource-env-ref-type>
    </resource-env-ref>

    <resource-env-ref>
        <description>properties voor ldapB2E</description>
        <resource-env-ref-name>properties/ldapB2E</resource-env-ref-name>
        <resource-env-ref-type>java.util.Properties</resource-env-ref-type>
    </resource-env-ref>

    <resource-env-ref>
        <description>properties voor identiteiten_rollen</description>
        <resource-env-ref-name>properties/identiteiten_rollen</resource-env-ref-name>
        <resource-env-ref-type>java.util.Properties</resource-env-ref-type>
    </resource-env-ref>

    <error-page>
        <exception-type>javax.faces.application.ViewExpiredException</exception-type>
        <location>/expired.faces</location>
    </error-page>

    <error-page>
        <error-code>403</error-code>
        <location>/onvoldoendeRechten.faces</location>
    </error-page>

</web-app>

罗伦战争
主题
b2e
javax.faces.DATETIMECONVERTER\默认\时区\是\系统\时区
真的
保存状态信息的位置。
有效值为“服务器”(通常保存在HttpSession中)和“客户端”(通常
保存为表单中的隐藏字段。
默认值是服务器。
javax.faces.STATE_保存方法
服务器
包含JSF组件的扩展映射资源的默认后缀。
默认值为“.jsp”。
javax.faces.DEFAULT_后缀
.xhtml
监视FacesJSP文件的修改,并将正在运行的服务器与
在不重新启动服务器的情况下更改。如果此参数设置为false或
从部署描述符中删除后,对FacesJSP文件所做的任何更改都可能
服务器重新启动后才能看到。通常设置此参数
在开发和调试Faces JSP文件以
提高开发环境的性能。
com.ibm.ws.jsf.JSP\u更新\u检查
真的
当应用服务器启动时加载JSF运行时。如果此参数设置为false或已删除,
当处理第一个JSF请求时,将加载并初始化JSF运行时。
这可能会禁用自定义JSF扩展,例如项目中定义的工厂。
com.ibm.ws.jsf.LOAD\u FACES\u CONFIG\u启动时
真的
javax.faces.explait_EMPTY_STRING_SUBMITTED_VALUES_为_NULL
真的
facelets.LIBRARIES
/WEB-INF/retibo-taglib.xml
facelets.SKIP_注释
真的
用户过滤器
be.delijn.retibo.identitenrollen.common.view.filter.identitenuserfilter
Log4JAdminFilter
be.delijn.retibo.view.filter.Log4JAdminFilter
IE9过滤器
be.delijn.retibo.view.filter.IE9Filter
PrimeFaces文件上载筛选器
org.primefaces.webapp.filter.FileUploadFilter
PrimeFaces文件上载筛选器
Facesservlet
IE9过滤器
*.面孔
Log4JAdminFilter
/pages/log4jAdmin.jsp
用户过滤器
*.面孔
Facesservlet
javax.faces.webapp.FacesServlet
-1
Facesservlet
*.面孔
Facesservlet
/面孔/*
/index.jsp
安全培训
艾尔斯贝维利格
贝维利格德·帕吉纳酒店
/页数/*
MedewerkerPersoneel
形式
/login.faces
/login.faces?错误=true
MedewerkerPersoneel
快乐Servlet
be.delijn.retibo.identitenrollen.common.view.IamHappyServlet
1.
快乐Servlet
高兴的*
标识数据源
javax.sql.DataSource
应用
可分享
log4j_identiten_rollen
java.net.URL
容器
url/biztalkRolToekenningMeldingServiceHost
java.net.URL
容器
可分享
identitencacheconfig
java.net.URL
容器
可分享
Identiten_rollen_Web服务
属性/标识rollen\u Web服务
java.util.Properties
Identiten_rollen_Web服务2
属性/Web服务
java.util.Properties
属性voor ldapB2E
属性/ldapB2E
java.util.Properties
属性voor identiten_rollen
属性/标识
java.util.Properties
javax.faces.application.ViewExpiredException
/白脸
403
/在VoldoEnderechten.faces上
server.xml

<?xml version="1.0" encoding="UTF-8"?><!--Generated by IBM TransformationAdvisor
Thu Mar 07 10:07:55 UTC 2019-->
<server>
    <!--These elements have been identified from this application's configuration.-->
    <featureManager>
        <feature>cdi-1.0</feature>
        <feature>ejbLite-3.1</feature>
        <feature>jdbc-4.0</feature>
        <feature>jndi-1.0</feature>
        <feature>jpa-2.0</feature>
        <feature>localConnector-1.0</feature>
        <feature>ssl-1.0</feature>
        <feature>transportSecurity-1.0</feature>
        <feature>jaxrs-1.1</feature>
        <feature>jaxws-2.2</feature>
        <feature>javaMail-1.5</feature>
        <feature>jsf-2.0</feature>
    </featureManager>

    <basicRegistry id="basic" realm="ibm/api">
        <user name="wasadmin" password="wasadmin"/>
    </basicRegistry>

    <library id="sqlserverJdbcLib">
        <fileset dir="${server.config.dir}/resources/lib/sqlserverJdbc" includes="sqljdbc4-4.0.jar" />
    </library>

    <dataSource id="jdbcIdentiteitenRollen"
            jndiName="jdbc/identiteiten_2"
            type="javax.sql.ConnectionPoolDataSource"
            isolationLevel="TRANSACTION_READ_COMMITTED">
        <connectionManager maxPoolSize="10" minPoolSize="0" />
        <jdbcDriver libraryRef="sqlserverJdbcLib" />
        <properties.microsoft.sqlserver
                serverName="${datasource.server.name}"
                portNumber="${datasource.server.port}"
                databaseName="${datasource.database.name}"
                user="${datasource.user}"
                password="${datasource.password}" />
    </dataSource>
    <transaction totalTranLifetimeTimeout="3000s" />

    <library id="propertyProviderLib">
        <fileset dir="${server.config.dir}/resources/lib/propertyProvider" includes="property-provider-1.1.jar"/>
    </library>

    <jndiObjectFactory
            id="propertyProvider"
            libraryRef="propertyProviderLib"
            className="be.delijn.propertyprovider.ResourceFactory"
            objectClassName="java.util.Properties"/>

    <jndiReferenceEntry id="propertiesIdentiteitenRollen" jndiName="properties/identiteiten_rollen"
                        factoryRef="propertyProvider">
        <properties mobielplatform.applicatie.id="${mobielplatform.applicatie.id}"/>
        <properties identiteiten.exploitantensync.instructies.maximum="${identiteiten.exploitantensync.instructies.maximum}"/>
        <properties identiteiten.applicatie.id="${identiteiten.applicatie.id}"/>
        <properties identiteiten.sync.mail.to="${identiteiten.sync.mail.to}"/>
        <properties identiteiten.sync.mail.from="${identiteiten.sync.mail.from}"/>
        <properties base.distinguishedName="${base.distinguishedName}"/>
        <properties ldapUser="${ldapUser}"/>
        <properties ldapPassword="${ldapPassword}"/>
        <properties job.timelimit="${job.timelimit}"/>
        <properties scheduling.rolRelatiesPush="${scheduling.rolRelatiesPush}"/>
        <properties scheduling.dataValidatie="${scheduling.dataValidatie}"/>
        <properties scheduling.rolRelatiesPrepare="${scheduling.rolRelatiesPrepare}"/>
        <properties scheduling.ruleEngine="${scheduling.ruleEngine}"/>
        <properties scheduling.personeelSynchronisatie="${scheduling.personeelSynchronisatie}"/>
        <properties scheduling.activeDirectorySynchronisatie="${scheduling.activeDirectorySynchronisatie}"/>
    </jndiReferenceEntry>

    <jndiReferenceEntry id="propertiesWebservices" jndiName="properties/identiteiten_rollen_webservices" factoryRef="propertyProvider">
        <properties biztalk.username="${biztalk.username}"/>
        <properties biztalk.password="${biztalk.password}"/>
        <properties rolToekenningMeldingService.url="${rolToekenningMeldingService.url}"/>
    </jndiReferenceEntry>

    <jndiReferenceEntry id="propertiesLdap" jndiName="properties/ldapB2E" factoryRef="propertyProvider">
        <properties protocol="${protocol}"/>
        <properties server="${server}"/>
        <properties port="${port}"/>
        <properties ldapPassword="${ldapPassword}"/>
        <properties ldapUser="${ldapUser}"/>
        <properties base.distinguishedName="${base.distinguishedName}"/>
    </jndiReferenceEntry>

    <jndiURLEntry jndiName="url/log4j_identiteiten_rollen_2_web" value="${log.log4j.location}"/>
    <jndiURLEntry jndiName="url/identiteitenCacheConfig" value="${url.cache.config}"/>
    <jndiURLEntry jndiName="url/biztalkRolToekenningMeldingServiceHost" value="${url.biztalkRolToekenningMeldingServiceHost}"/>

    <mailSession description="De Lijn SMTP" from="" host="${smtp.host}"
            id="mailSession" jndiName="mail/Session" mailSessionID="IdentiteitenMailSession"
            password="" user=""/>

    <httpEndpoint host="*" httpPort="9081" httpsPort="9444" id="defaultHttpEndpoint"/>

    <classloading useJarUrls="true"/>

    <application id="identiteiten-rollen-web-ear" location="identiteiten-rollen-web-ear.ear" name="identiteiten_rollen_web_ear"
                 type="ear">
        <classloader apiTypeVisibility="spec, ibm-api, stable, third-party" libraryRef="propertyProviderLib"/>
    </application>
</server>

cdi-1.0
ejbLite-3.1
jdbc-4.0
jndi-1.0
jpa-2.0
localConnector-1.0
ssl-1.0
运输安全-1.0
jaxrs-1.1
jaxws-2.2
javaMail-1.5
jsf-2.0

ServletContext“null”已初始化
消息是由较早的MyFaces错误引起的:。不幸的是,Liberty
jsf-2.0
实现
<feature>webProfile-6.0</feature>
<feature>managedBeans-1.0</feature>