Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/375.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 tomcat 8.5 el api上的Spring迁移4.3到5错误_Java_Spring_Spring Boot_El_Tomcat8.5 - Fatal编程技术网

Java tomcat 8.5 el api上的Spring迁移4.3到5错误

Java tomcat 8.5 el api上的Spring迁移4.3到5错误,java,spring,spring-boot,el,tomcat8.5,Java,Spring,Spring Boot,El,Tomcat8.5,在tomcat 8.5上使用Spring启动初始值设定项将Spring 4.3升级到5时,我们开始遇到异常: 2021-06-06 12:37:50,438 DEBUG [background-preinit] resolver.TraversableResolvers (TraversableResolvers.java:70) - Found javax.persistence.Persistence on classpath, but no method 'getPersistenceUt

在tomcat 8.5上使用Spring启动初始值设定项将Spring 4.3升级到5时,我们开始遇到异常:

2021-06-06 12:37:50,438 DEBUG [background-preinit] resolver.TraversableResolvers (TraversableResolvers.java:70) - Found javax.persistence.Persistence on classpath, but no method 'getPersistenceUtil'. Assuming JPA 1 environment. All properties will per default be traversable.
2021-06-06 12:37:50,482 DEBUG [background-preinit] messageinterpolation.ResourceBundleMessageInterpolator (ResourceBundleMessageInterpolator.java:220) - Failed to load expression factory via classloader ParallelWebappClassLoader
  context: ROOT
  delegate: false
----------> Parent Classloader:
java.net.URLClassLoader@76f856a8

javax.el.ELException: Unable to find ExpressionFactory of type [# Licensed to the Apache Software Foundation (ASF) under one or more]
        at javax.el.ExpressionFactory.newInstance(ExpressionFactory.java:154) ~[el-api.jar:3.0.FR]
        at javax.el.ExpressionFactory.newInstance(ExpressionFactory.java:93) ~[el-api.jar:3.0.FR]
        at org.hibernate.validator.messageinterpolation.ResourceBundleMessageInterpolator.canLoadExpressionFactory(ResourceBundleMessageInterpolator.java:216) [hibernate-validator-6.2.0.Final.jar:6.2.0.Final]
        at org.hibernate.validator.messageinterpolation.ResourceBundleMessageInterpolator.buildExpressionFactory(ResourceBundleMessageInterpolator.java:170) [hibernate-validator-6.2.0.Final.jar:6.2.0.Final]
        at org.hibernate.validator.messageinterpolation.ResourceBundleMessageInterpolator.<init>(ResourceBundleMessageInterpolator.java:94) [hibernate-validator-6.2.0.Final.jar:6.2.0.Final]
        at org.hibernate.validator.internal.engine.AbstractConfigurationImpl.getDefaultMessageInterpolator(AbstractConfigurationImpl.java:573) [hibernate-validator-6.2.0.Final.jar:6.2.0.Final]
        at org.hibernate.validator.internal.engine.AbstractConfigurationImpl.getDefaultMessageInterpolatorConfiguredWithClassLoader(AbstractConfigurationImpl.java:822) [hibernate-validator-6.2.0.Final.jar:6.2.0.Final]
        at org.hibernate.validator.internal.engine.AbstractConfigurationImpl.getMessageInterpolator(AbstractConfigurationImpl.java:483) [hibernate-validator-6.2.0.Final.jar:6.2.0.Final]
        at org.hibernate.validator.internal.engine.ValidatorFactoryImpl.<init>(ValidatorFactoryImpl.java:153) [hibernate-validator-6.2.0.Final.jar:6.2.0.Final]
        at org.hibernate.validator.HibernateValidator.buildValidatorFactory(HibernateValidator.java:38) [hibernate-validator-6.2.0.Final.jar:6.2.0.Final]
        at org.hibernate.validator.internal.engine.AbstractConfigurationImpl.buildValidatorFactory(AbstractConfigurationImpl.java:451) [hibernate-validator-6.2.0.Final.jar:6.2.0.Final]
        at org.springframework.boot.autoconfigure.BackgroundPreinitializer$ValidationInitializer.run(BackgroundPreinitializer.java:149) [spring-boot-autoconfigure-2.5.0.jar:2.5.0]
        at org.springframework.boot.autoconfigure.BackgroundPreinitializer$1.runSafely(BackgroundPreinitializer.java:111) [spring-boot-autoconfigure-2.5.0.jar:2.5.0]
        at org.springframework.boot.autoconfigure.BackgroundPreinitializer$1.run(BackgroundPreinitializer.java:102) [spring-boot-autoconfigure-2.5.0.jar:2.5.0]
        at java.lang.Thread.run(Thread.java:748) [?:1.8.0_151]
Caused by: java.lang.ClassNotFoundException: # Licensed to the Apache Software Foundation (ASF) under one or more
        at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1358) ~[catalina.jar:8.5.50]
        at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1180) ~[catalina.jar:8.5.50]
        at javax.el.ExpressionFactory.newInstance(ExpressionFactory.java:147) ~[el-api.jar:3.0.FR]
        ... 14 more
2021-06-06 12:37:50438调试[background preinit]resolver.TraversableResolvers(TraversableResolvers.java:70)-在类路径上找到javax.persistence.persistence,但没有方法“getPersistenceUtil”。假设JPA1环境。默认情况下,所有属性都是可遍历的。
2021-06-06 12:37:50482调试[background preinit]MessageInterpolator.ResourceBundleMessageInterpolator(ResourceBundleMessageInterpolator.java:220)-无法通过类加载器ParallelWebappClassLoader加载表达式工厂
上下文:根
代表:错
---------->父类加载器:
java.net。URLClassLoader@76f856a8
JavaX.el.EelExc:无法找到在一个或多个条件下被许可到Apache软件基金会(ASF)的类型的表达式工厂
在javax.el.ExpressionFactory.newInstance(ExpressionFactory.java:154)~[elapi.jar:3.0.FR]
在javax.el.ExpressionFactory.newInstance(ExpressionFactory.java:93)~[elapi.jar:3.0.FR]
在org.hibernate.validator.MessageInterpolator.ResourceBundleMessageInterpolator.canLoadExpressionFactory(ResourceBundleMessageInterpolator.java:216)[hibernate-validator-6.2.0.Final.jar:6.2.0.Final]
在org.hibernate.validator.messageinterpolator.ResourceBundleMessageInterpolator.buildExpressionFactory(ResourceBundleMessageInterpolator.java:170)[hibernate-validator-6.2.0.Final.jar:6.2.0.Final]
位于org.hibernate.validator.messageinterpolator.ResourceBundleMessageInterpolator.(ResourceBundleMessageInterpolator.java:94)[hibernate-validator-6.2.0.Final.jar:6.2.0.Final]
在org.hibernate.validator.internal.engine.AbstractConfigurationImpl.getDefaultMessageInterpolator(AbstractConfigurationImpl.java:573)[hibernate-validator-6.2.0.Final.jar:6.2.0.Final]
在org.hibernate.validator.internal.engine.AbstractConfigurationImpl.getDefaultMessageInterpolatorConfiguredWithClassLoader(AbstractConfigurationImpl.java:822)[hibernate-validator-6.2.0.Final.jar:6.2.0.Final]
在org.hibernate.validator.internal.engine.AbstractConfigurationImpl.getMessageInterpolator(AbstractConfigurationImpl.java:483)[hibernate-validator-6.2.0.Final.jar:6.2.0.Final]
在org.hibernate.validator.internal.engine.validatoryImpl.(validatoryImpl.java:153)[hibernate-validator-6.2.0.Final.jar:6.2.0.Final]
在org.hibernate.validator.HibernateValidator.buildValidatorFactory(HibernateValidator.java:38)[hibernate-validator-6.2.0.Final.jar:6.2.0.Final]
在org.hibernate.validator.internal.engine.AbstractConfigurationMPL.buildValidatorFactory(AbstractConfigurationMPL.java:451)[hibernate-validator-6.2.0.Final.jar:6.2.0.Final]
在org.springframework.boot.autoconfigure.BackgroundPreinitializer$ValidationInitializer.run(BackgroundPreinitializer.java:149)[spring-boot-autoconfigure-2.5.0.jar:2.5.0]
在org.springframework.boot.autoconfigure.BackgroundPreinitializer$1.runsafe(BackgroundPreinitializer.java:111)[spring-boot-autoconfigure-2.5.0.jar:2.5.0]
在org.springframework.boot.autoconfigure.BackgroundPreinitializer$1.run(BackgroundPreinitializer.java:102)[spring-boot-autoconfigure-2.5.0.jar:2.5.0]
在java.lang.Thread.run(Thread.java:748)[?:1.8.0_151]
由JavaLang.CaseNojFutuxExpExt:由一个或多个许可证授予Apache软件基金会(ASF)
在org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1358)~[catalina.jar:8.5.50]
在org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1180)~[catalina.jar:8.5.50]
在javax.el.ExpressionFactory.newInstance(ExpressionFactory.java:147)~[elapi.jar:3.0.FR]
... 14多
el api jar取自tomcat/lib,我们还将el api版本从2改为3,仍然引发异常

对于这种例外情况是否有已知的解决方案

可以忽略吗

我发现它不会被修复

EPEL el6于2020年11月30日变更为寿命终止(EOL)状态。EPEL6是 不再维护,这意味着它将不会收到任何进一步的 安全或错误修复更新。因此,我们正在关闭此错误

您偶然发现了错误:
META-INF/services/javax.el.ExpressionFactory
文件中的注释没有被跳过,因此出现了奇怪的错误


此问题已在Tomcat版本中修复。

您使用的是哪个版本的Tomcat?堆栈跟踪的行号似乎不匹配。
el-api.jar
来自哪里?@PiotrP.Karwasz tomcat版本8.5.50,el-api.jar来自tomcat库