jsf - 部署期间的 Java EE 严重错误:java.lang.NullPointerException
问题描述
我正在尝试将 JEE8 应用程序部署到本地 GlassFish 服务器。该应用程序由两个模块组成:一个用于 EJB,一个用于 JSF。我正在使用 IntelliJ 并按照说明创建 EAR 文件,其中包括 ejb.jar 和 jsf.war 文件。
部署失败,查看输出似乎是 NullPointerException。做了很多谷歌搜索,但没有进一步前进。我附加了 GlassFish 输出、application.xml 和服务器日志输出。
有人可以帮忙吗?
下面的 GlassFish 控制台输出
[2020-05-25 02:02:38,665] Artifact JEEv3:ear: Artifact is being deployed, please wait...
[2020-05-25 02:02:55,453] Artifact JEEv3:ear: Error during artifact deployment. See server log for details.
[2020-05-25 02:02:55,453] Artifact JEEv3:ear: java.io.IOException: com.sun.enterprise.admin.remote.RemoteFailureException: Error occurred during deployment: Exception while loading the app : java.lang.IllegalStateException: ContainerBase.addChild: start: org.apache.catalina.LifecycleException: java.lang.RuntimeException: java.lang.NullPointerException. Please see server.log for more details.
application.xml 文件
<?xml version="1.0" encoding="UTF-8"?>
<application xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/application_8.xsd"
version="8">
<module id="ejb-EJB">
<ejb>ejb.jar</ejb>
</module>
<module id="jsf-Web">
<web>
<web-uri>jsf.war</web-uri>
<context-root>jsfWeb</context-root>
</web>
</module>
</application>
下面的服务器日志详细信息。我添加了完整的日志,这似乎主要是警告,并突出显示了 nullpointer 异常
[2020-05-25T14:02:47.811+0100] [glassfish 5.1] [WARN] [] [org.jboss.weld.Bootstrap] [tid: _ThreadID=49 _ThreadName=admin-listener(4)] [timeMillis: 1590411767811] [levelValue: 900] [[
WELD-000146: BeforeBeanDiscovery.addAnnotatedType(AnnotatedType<?>) used for class org.glassfish.cdi.transaction.TransactionalInterceptorMandatory is deprecated from CDI 1.1!]]
[2020-05-25T14:02:47.841+0100] [glassfish 5.1] [WARN] [] [org.jboss.weld.Bootstrap] [tid: _ThreadID=49 _ThreadName=admin-listener(4)] [timeMillis: 1590411767841] [levelValue: 900] [[
WELD-000146: BeforeBeanDiscovery.addAnnotatedType(AnnotatedType<?>) used for class org.glassfish.cdi.transaction.TransactionalInterceptorNever is deprecated from CDI 1.1!]]
[2020-05-25T14:02:47.846+0100] [glassfish 5.1] [WARN] [] [org.jboss.weld.Bootstrap] [tid: _ThreadID=49 _ThreadName=admin-listener(4)] [timeMillis: 1590411767846] [levelValue: 900] [[
WELD-000146: BeforeBeanDiscovery.addAnnotatedType(AnnotatedType<?>) used for class org.glassfish.cdi.transaction.TransactionalInterceptorNotSupported is deprecated from CDI 1.1!]]
[2020-05-25T14:02:47.850+0100] [glassfish 5.1] [WARN] [] [org.jboss.weld.Bootstrap] [tid: _ThreadID=49 _ThreadName=admin-listener(4)] [timeMillis: 1590411767850] [levelValue: 900] [[
WELD-000146: BeforeBeanDiscovery.addAnnotatedType(AnnotatedType<?>) used for class org.glassfish.cdi.transaction.TransactionalInterceptorRequired is deprecated from CDI 1.1!]]
[2020-05-25T14:02:47.857+0100] [glassfish 5.1] [WARN] [] [org.jboss.weld.Bootstrap] [tid: _ThreadID=49 _ThreadName=admin-listener(4)] [timeMillis: 1590411767857] [levelValue: 900] [[
WELD-000146: BeforeBeanDiscovery.addAnnotatedType(AnnotatedType<?>) used for class org.glassfish.cdi.transaction.TransactionalInterceptorRequiresNew is deprecated from CDI 1.1!]]
[2020-05-25T14:02:47.861+0100] [glassfish 5.1] [WARN] [] [org.jboss.weld.Bootstrap] [tid: _ThreadID=49 _ThreadName=admin-listener(4)] [timeMillis: 1590411767861] [levelValue: 900] [[
WELD-000146: BeforeBeanDiscovery.addAnnotatedType(AnnotatedType<?>) used for class org.glassfish.cdi.transaction.TransactionalInterceptorSupports is deprecated from CDI 1.1!]]
[2020-05-25T14:02:47.888+0100] [glassfish 5.1] [WARN] [] [org.jboss.weld.Bootstrap] [tid: _ThreadID=49 _ThreadName=admin-listener(4)] [timeMillis: 1590411767888] [levelValue: 900] [[
WELD-000146: BeforeBeanDiscovery.addAnnotatedType(AnnotatedType<?>) used for class org.glassfish.jersey.ext.cdi1x.internal.CdiComponentProvider$JaxRsParamProducer is deprecated from CDI 1.1!]]
[2020-05-25T14:02:47.917+0100] [glassfish 5.1] [WARN] [] [org.jboss.weld.Bootstrap] [tid: _ThreadID=49 _ThreadName=admin-listener(4)] [timeMillis: 1590411767917] [levelValue: 900] [[
WELD-000146: BeforeBeanDiscovery.addAnnotatedType(AnnotatedType<?>) used for class com.ibm.jbatch.container.cdi.BatchProducerBean is deprecated from CDI 1.1!]]
[2020-05-25T14:02:47.929+0100] [glassfish 5.1] [WARN] [] [org.jboss.weld.Bootstrap] [tid: _ThreadID=49 _ThreadName=admin-listener(4)] [timeMillis: 1590411767929] [levelValue: 900] [[
WELD-000146: BeforeBeanDiscovery.addAnnotatedType(AnnotatedType<?>) used for class com.sun.faces.flow.FlowDiscoveryCDIHelper is deprecated from CDI 1.1!]]
[2020-05-25T14:02:48.056+0100] [glassfish 5.1] [WARN] [] [org.jboss.weld.Bootstrap] [tid: _ThreadID=49 _ThreadName=admin-listener(4)] [timeMillis: 1590411768056] [levelValue: 900] [[
WELD-000146: BeforeBeanDiscovery.addAnnotatedType(AnnotatedType<?>) used for class org.glassfish.jersey.ext.cdi1x.servlet.internal.CdiExternalRequestScope is deprecated from CDI 1.1!]]
[2020-05-25T14:02:49.069+0100] [glassfish 5.1] [WARN] [] [org.jboss.weld.Bootstrap] [tid: _ThreadID=49 _ThreadName=admin-listener(4)] [timeMillis: 1590411769069] [levelValue: 900] [[
WELD-000146: BeforeBeanDiscovery.addAnnotatedType(AnnotatedType<?>) used for class org.jboss.weld.environment.se.beans.ParametersFactory is deprecated from CDI 1.1!]]
[2020-05-25T14:02:49.156+0100] [glassfish 5.1] [WARN] [] [org.jboss.weld.Bootstrap] [tid: _ThreadID=49 _ThreadName=admin-listener(4)] [timeMillis: 1590411769156] [levelValue: 900] [[
WELD-000146: BeforeBeanDiscovery.addAnnotatedType(AnnotatedType<?>) used for class org.jboss.weld.environment.se.beans.InstanceManager is deprecated from CDI 1.1!]]
[2020-05-25T14:02:49.164+0100] [glassfish 5.1] [WARN] [] [org.jboss.weld.Bootstrap] [tid: _ThreadID=49 _ThreadName=admin-listener(4)] [timeMillis: 1590411769164] [levelValue: 900] [[
WELD-000146: BeforeBeanDiscovery.addAnnotatedType(AnnotatedType<?>) used for class org.jboss.weld.environment.se.threading.RunnableDecorator is deprecated from CDI 1.1!]]
[2020-05-25T14:02:49.202+0100] [glassfish 5.1] [WARN] [] [org.jboss.weld.Bootstrap] [tid: _ThreadID=49 _ThreadName=admin-listener(4)] [timeMillis: 1590411769202] [levelValue: 900] [[
WELD-000146: BeforeBeanDiscovery.addAnnotatedType(AnnotatedType<?>) used for class org.jboss.weld.environment.se.WeldContainer is deprecated from CDI 1.1!]]
[2020-05-25T14:02:49.208+0100] [glassfish 5.1] [WARN] [] [org.jboss.weld.Bootstrap] [tid: _ThreadID=49 _ThreadName=admin-listener(4)] [timeMillis: 1590411769208] [levelValue: 900] [[
WELD-000146: BeforeBeanDiscovery.addAnnotatedType(AnnotatedType<?>) used for class org.glassfish.jersey.ext.cdi1x.transaction.internal.WebAppExceptionHolder is deprecated from CDI 1.1!]]
[2020-05-25T14:02:49.217+0100] [glassfish 5.1] [WARN] [] [org.jboss.weld.Bootstrap] [tid: _ThreadID=49 _ThreadName=admin-listener(4)] [timeMillis: 1590411769217] [levelValue: 900] [[
WELD-000146: BeforeBeanDiscovery.addAnnotatedType(AnnotatedType<?>) used for class org.glassfish.jersey.ext.cdi1x.transaction.internal.WebAppExceptionInterceptor is deprecated from CDI 1.1!]]
[2020-05-25T14:02:49.223+0100] [glassfish 5.1] [WARN] [] [org.jboss.weld.Bootstrap] [tid: _ThreadID=49 _ThreadName=admin-listener(4)] [timeMillis: 1590411769223] [levelValue: 900] [[
WELD-000146: BeforeBeanDiscovery.addAnnotatedType(AnnotatedType<?>) used for class org.glassfish.jersey.ext.cdi1x.transaction.internal.TransactionalExceptionMapper is deprecated from CDI 1.1!]]
[2020-05-25T14:02:50.912+0100] [glassfish 5.1] [SEVERE] [] [] [tid: _ThreadID=49 _ThreadName=Thread-9] [timeMillis: 1590411770912] [levelValue: 1000] [[
SLF4J: Class path contains multiple SLF4J bindings.]]
[2020-05-25T14:02:50.912+0100] [glassfish 5.1] [SEVERE] [] [] [tid: _ThreadID=49 _ThreadName=Thread-9] [timeMillis: 1590411770912] [levelValue: 1000] [[
SLF4J: Found binding in [jar:file:/Users/marccooling/IdeaProjects/appservers/glassfish5/glassfish/domains/domain1/applications/JEEv3_ear/jsf_war_war/WEB-INF/lib/weld-se.jar!/org/slf4j/impl/StaticLoggerBinder.class]]]
[2020-05-25T14:02:50.912+0100] [glassfish 5.1] [SEVERE] [] [] [tid: _ThreadID=49 _ThreadName=Thread-9] [timeMillis: 1590411770912] [levelValue: 1000] [[
SLF4J: Found binding in [jar:file:/Users/marccooling/IdeaProjects/appservers/glassfish5/glassfish/domains/domain1/applications/JEEv3_ear/jsf_war_war/WEB-INF/lib/weld-servlet.jar!/org/slf4j/impl/StaticLoggerBinder.class]]]
[2020-05-25T14:02:50.912+0100] [glassfish 5.1] [SEVERE] [] [] [tid: _ThreadID=49 _ThreadName=Thread-9] [timeMillis: 1590411770912] [levelValue: 1000] [[
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.]]
[2020-05-25T14:02:50.923+0100] [glassfish 5.1] [SEVERE] [] [] [tid: _ThreadID=49 _ThreadName=Thread-9] [timeMillis: 1590411770923] [levelValue: 1000] [[
SLF4J: Actual binding is of type [org.slf4j.impl.SimpleLoggerFactory]]]
[2020-05-25T14:02:55.267+0100] [glassfish 5.1] [WARNING] [] [javax.enterprise.web] [tid: _ThreadID=49 _ThreadName=admin-listener(4)] [timeMillis: 1590411775267] [levelValue: 900] [[
java.lang.IllegalStateException: ContainerBase.addChild: start: org.apache.catalina.LifecycleException: java.lang.RuntimeException: java.lang.NullPointerException
java.lang.IllegalStateException: ContainerBase.addChild: start: org.apache.catalina.LifecycleException: java.lang.RuntimeException: java.lang.NullPointerException
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:881)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:860)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:644)
at com.sun.enterprise.web.WebContainer.loadWebModule(WebContainer.java:2020)
at com.sun.enterprise.web.WebContainer.loadWebModule(WebContainer.java:1666)
at com.sun.enterprise.web.WebApplication.start(WebApplication.java:83)
at org.glassfish.internal.data.EngineRef.start(EngineRef.java:98)
**Critical error during deployment:
java.lang.NullPointerException
at** com.sun.faces.application.ApplicationAssociate$PostConstructApplicationListener.processEvent(ApplicationAssociate.java:324)
at javax.faces.event.SystemEvent.processListener(SystemEvent.java:123)
at com.sun.faces.application.applicationimpl.Events.processListeners(Events.java:253)
at com.sun.faces.application.applicationimpl.Events.invokeListenersFor(Events.java:231)
at com.sun.faces.application.applicationimpl.Events.publishEvent(Events.java:112)
at com.sun.faces.application.ApplicationImpl.publishEvent(ApplicationImpl.java:127)
at org.jboss.weld.environment.servlet.jsf.ForwardingApplication.publishEvent(ForwardingApplication.java:282)
at org.jboss.weld.environment.servlet.jsf.ForwardingApplication.publishEvent(ForwardingApplication.java:282)
at javax.faces.application.ApplicationWrapper.publishEvent(ApplicationWrapper.java:788)
at com.sun.faces.config.ConfigManager.publishPostConfigEvent(ConfigManager.java:553)
at com.sun.faces.config.ConfigureListener.contextInitialized(ConfigureListener.java:264)
at org.apache.catalina.core.StandardContext.contextListenerStart(StandardContext.java:5005)
at com.sun.enterprise.web.WebModule.contextListenerStart(WebModule.java:568)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:5574)
at com.sun.enterprise.web.WebModule.start(WebModule.java:516)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:877)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:860)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:644)
at com.sun.enterprise.web.WebContainer.loadWebModule(WebContainer.java:2020)
at com.sun.enterprise.web.WebContainer.loadWebModule(WebContainer.java:1666)
at com.sun.enterprise.web.WebApplication.start(WebApplication.java:83)
at org.glassfish.internal.data.EngineRef.start(EngineRef.java:98)
Startup of context /jsf_war failed due to previous errors]]
[2020-05-25T14:02:55.262+0100] [glassfish 5.1] [SEVERE] [AS-WEB-CORE-00175] [javax.enterprise.web.core] [tid: _ThreadID=49 _ThreadName=admin-listener(4)] [timeMillis: 1590411775262] [levelValue: 1000] [[
**Exception during cleanup after start failed**
org.apache.catalina.LifecycleException: Manager has not yet been started
at org.apache.catalina.session.StandardManager.stop(StandardManager.java:838)
at org.apache.catalina.core.StandardContext.stop(StandardContext.java:5779)
at com.sun.enterprise.web.WebModule.stop(WebModule.java:545)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:5592)
at com.sun.enterprise.web.WebModule.start(WebModule.java:516)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:877)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:860)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:644)
at com.sun.enterprise.web.WebContainer.loadWebModule(WebContainer.java:2020)
at com.sun.enterprise.web.WebContainer.loadWebModule(WebContainer.java:1666)
at com.sun.enterprise.web.WebApplication.start(WebApplication.java:83)
at org.glassfish.internal.data.EngineRef.start(EngineRef.java:98)
解决方案
推荐阅读
- html - CSS 图像未居中对齐
- javascript - PHP在更新SQL表之前检查文件是否存在
- android - [Wi-Fi]Android R 无法编辑企业建议网络
- javascript - 承诺错误:非法参数:函数字符串
- javascript - 需要有关画布加载图像的帮助
- nginx - 在没有上下文路径的情况下运行的两个 tomcat 上的 NGINX 负载平衡
- javascript - react-native 中 empy <> 片段的主要好处是什么?
- reactjs - onSubmit 不适用于多行文本输入
- docker - docker上的Gitlab:如何处理动态IP?
- javascript - 更改计算器功能不起作用(Javascript)