Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/377.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/2/django/24.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
严重:Begin事件抛出错误java.lang.ExceptionInInitializerError Intellij/Tomcat_Java_Tomcat_Intellij Idea_Catalina - Fatal编程技术网

严重:Begin事件抛出错误java.lang.ExceptionInInitializerError Intellij/Tomcat

严重:Begin事件抛出错误java.lang.ExceptionInInitializerError Intellij/Tomcat,java,tomcat,intellij-idea,catalina,Java,Tomcat,Intellij Idea,Catalina,我有一个新的项目,我想在Intellij工作。作为本地服务器,我们使用Tomcat7.0.68和JDK1.8 这是我在tomcat中的配置 lib/catalina/org/apache/catalina/startup/Authenticators.properties: NIGHTSHIFT=com.glit.swidA9O.v1.authenticator.nightshiftuthenticator conf/catalina.properties: common.loader=${c

我有一个新的项目,我想在Intellij工作。作为本地服务器,我们使用Tomcat7.0.68和JDK1.8

这是我在tomcat中的配置

lib/catalina/org/apache/catalina/startup/Authenticators.properties:

NIGHTSHIFT=com.glit.swidA9O.v1.authenticator.nightshiftuthenticator
conf/catalina.properties:

common.loader=${catalina.base}/lib,${catalina.base}/lib/*.jar,/Users/Administrator/dev/server/apache-tomcat-7.0.68/shared/nightShift/*.jar,${catalina.home}/lib,${catalina.home}/lib,${catalina.home}/lib/*.jar
conf/context:


conf/server.xml


我们的问题 在本地tomcat服务器中,我们希望使用一个名为“夜班”的特定库。不幸的是,每次我们尝试使用intellij/tomcat构建应用程序时,都会出现以下错误:

这很有趣,因为如果我们尝试用eclipse构建应用程序,tomcat可以顺利运行,并且可以正确地构建项目

这些是我们为Intellij/Tomcat所做的设置:

这些是我的虚拟机选项(实际上我甚至不知道你是否需要它,只是以防万一):

-DLOG4J2-ROOT=/Users/Administrator/dev/PROJECT/data/logs
-Djava.security.auth.login.config=/Users/Administrator/dev/PROJECT/config/NightShift-config/common/NightShiftJAAS.conf
-Dpu8.config.path=/Users/Administrator/dev/PROJECT/config/NightShift-config
-Dpu8.configuration.id=A7U
-Dpu8.environment=ide
-Djava.util.logging.config.file=/Users/Administrator/dev/PROJECT/config/NightShift-config/log-config.properties
-Djava.security.manager
-Djava.security.policy=“/Users/Administrator/dev/server/apache-tomcat-7.0.68/conf/catalina.policy”
这就是我们的tomcat的样子:

“shared”里面有一个名为“nightshift”的文件夹,里面有我们在catalina.properties文件中提到的所有必需的.jar文件


在我们的工件中,我们没有包括“夜班”JAR,因为我们希望它安装在tomcat中,而不是我们的应用程序中。

应用程序的日志初始化似乎有问题:

 Caused by: java.util.NoSuchElementException
    at java.util.ServiceLoader$LazyIterator.nextService(ServiceLoader.java:365)
    at java.util.ServiceLoader$LazyIterator.access$700(ServiceLoader.java:323)
    at java.util.ServiceLoader$LazyIterator$2.run(ServiceLoader.java:407)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.util.ServiceLoader$LazyIterator.next(ServiceLoader.java:409)
    at java.util.ServiceLoader$1.next(ServiceLoader.java:480)
    at com.glit.swidPV4.v1.common.log.LogFactory.getInstance(LogFactory.java:32)
    at com.glit.swidPV4.v1.common.log.LogFactory.getLog(LogFactory.java:42)
    at com.glit.swidA7R.v1.businessdelegate.VerifierBDFactory.<clinit>(VerifierBDFactory.java:29)
    ... 75 more
由以下原因引起:java.util.NoSuchElementException
位于java.util.ServiceLoader$LazyIterator.nextService(ServiceLoader.java:365)
位于java.util.ServiceLoader$LazyIterator.access$700(ServiceLoader.java:323)
位于java.util.ServiceLoader$LazyIterator$2.run(ServiceLoader.java:407)
位于java.security.AccessController.doPrivileged(本机方法)
位于java.util.ServiceLoader$LazyIterator.next(ServiceLoader.java:409)
位于java.util.ServiceLoader$1.next(ServiceLoader.java:480)
位于com.glit.swidPV4.v1.common.log.LogFactory.getInstance(LogFactory.java:32)
在com.glit.swidPV4.v1.common.log.LogFactory.getLog(LogFactory.java:42)
位于com.glit.swidA7R.v1.businessdelegate.VerifierBDFactory。(VerifierBDFactory.java:29)
... 75多
看起来,它正在寻找一家不存在的服务提供商,但却未能妥善处理这一问题。这会导致运行时异常,该异常会级联到其他事物中

  • 查看
    com.glit.swidPV4.v1.common.log.LogFactory
    的源代码,了解它在寻找什么

  • 找出它丢失的原因。我猜可能是缺少/放错了JAR文件或缺少/放错了配置文件

  • 修好它

  • (可能)修复
    LogFactory
    代码,使其更具弹性。。。或者抛出一个自定义异常,而不仅仅是用一个模糊的
    NoSuchElementException
    进行轰炸

  • 对于您的特定情况,远程计算JAR和配置文件的位置太难了。但这只是标准的Java/Tomcat故障排除。。。一旦你找出问题的原因


    不幸的是,每次尝试使用intellij/tomcat构建应用程序时,都会出现以下错误:

    一个“解决方案”是切换到使用Maven或其他东西来构建WAR文件,并手动测试/部署它们,而不是依赖“闪亮的”Intellij集成工具

    (无论如何,你不应该热部署到生产服务器中。这是一个糟糕的做法。你离破坏生产环境只有一步之遥。如果这只是一个开发/测试环境,那么养成在开发环境中以正确方式做事的习惯是一个好主意。)

    完整的stacktrace(有嵌套的异常)应该解释异常的原因。嗨,斯蒂芬:)Ups!我完全忘了把整个stacktrace放进去。我编辑了我的帖子,并添加了一个链接,可以让每个人浏览stacktrace.txt文件。它包含了编译器打印出来的所有内容。