java javax.el.E​​LException:未找到提供程序 com.sun.el.E​​xpressionFactoryImpl

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/39976835/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-11-03 04:49:48  来源:igfitidea点击:

javax.el.ELException: Provider com.sun.el.ExpressionFactoryImpl not found

javatomcat

提问by Viktor V.

Despite a lot of problem solutions I have stuck on the problem with ELException:

尽管有很多问题解决方案,但我仍然坚持解决以下问题ELException

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'tilesConfigurer' defined in ServletContext resource [/WEB-INF/tiles-context.xml]: Invocation of init method failed; nested exception is javax.el.ELException: Provider com.sun.el.ExpressionFactoryImpl not found
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1553)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:539)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:475)
        at org.springframework.beans.factory.support.AbstractBeanFactorygetObject(AbstractBeanFactory.java:304)
        at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:228)
        at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:300)
        at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:195)
        at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:703)
        at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:760)
        at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:482)
        at org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:403)
        at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:306)
        at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:106)
        at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4853)
        at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5314)
        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145)
        at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:725)
        at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:701)
        at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:717)
        at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:940)
        at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1816)
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
        at java.lang.Thread.run(Thread.java:745)
Caused by: javax.el.ELException: Provider com.sun.el.ExpressionFactoryImpl not found
        at javax.el.FactoryFinder.newInstance(FactoryFinder.java:101)
        at javax.el.FactoryFinder.find(FactoryFinder.java:197)
        at javax.el.ExpressionFactory.newInstance(ExpressionFactory.java:197)
        at javax.el.ExpressionFactory.newInstance(ExpressionFactory.java:168)
        at org.apache.jasper.runtime.JspApplicationContextImpl.<init>(JspApplicationContextImpl.java:46)
        at org.apache.jasper.runtime.JspApplicationContextImpl.getInstance(JspApplicationContextImpl.java:76)
        at org.apache.jasper.runtime.JspFactoryImpl.getJspApplicationContext(JspFactoryImpl.java:217)
        at org.springframework.web.servlet.view.tiles3.TilesConfigurer$TilesElActivator.createEvaluator(TilesConfigurer.java:407)
        at org.springframework.web.servlet.view.tiles3.TilesConfigurer$SpringTilesContainerFactory.createAttributeEvaluatorFactory(TilesConfigurer.java:374)
        at org.apache.tiles.factory.BasicTilesContainerFactory.createContainer(BasicTilesContainerFactory.java:88)
        at org.springframework.web.servlet.view.tiles3.TilesConfigurer$SpringTilesContainerFactory.createContainer(TilesConfigurer.java:296)
        at org.apache.tiles.startup.AbstractTilesInitializer.createContainer(AbstractTilesInitializer.java:114)
        at org.apache.tiles.startup.AbstractTilesInitializer.initialize(AbstractTilesInitializer.java:64)
        at org.springframework.web.servlet.view.tiles3.TilesConfigurer.afterPropertiesSet(TilesConfigurer.java:270)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1612)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1549)
        ... 25 more
Caused by: java.lang.ClassNotFoundException: com.sun.el.ExpressionFactoryImpl
        at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1333)
        at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1167)
        at javax.el.FactoryFinder.newInstance(FactoryFinder.java:87)
        ... 40 more

I'm sure that it isn't due to any user impact in web application code since another server with the same application is running well and both app's code is identical. Both servers` environments looks identical as well.

我确信这不是由于 Web 应用程序代码中的任何用户影响,因为具有相同应用程序的另一台服务器运行良好,并且两个应用程序的代码是相同的。两台服务器的环境看起来也一样。

I'm using Apache Tomcat/8.0.37and oracle-java8-jdk-amd64.

我正在使用Apache Tomcat/8.0.37oracle-java8-jdk-amd64

Below is the list of WEB-INF\libused libraries:

以下是WEB-INF\lib使用的库列表:

activation-1.1.jar               hibernate-c3p0-4.2.7.Final.jar                  lucene-analyzers-3.6.2.jar        slf4j-simple-1.7.7.jar                    tiles-autotag-core-runtime-1.1.0.jar
amqp-client-3.3.4.jar            hibernate-commons-annotations-4.0.2.Final.jar   lucene-core-3.6.2.jar             snakeyaml-1.11.jar                        tiles-compat-3.0.3.jar
antlr-2.7.7.jar                  hibernate-core-4.2.7.Final.jar                  lucene-facet-3.6.2.jar            solr-analysis-extras-3.6.2.jar            tiles-core-3.0.3.jar
aopalliance-1.0.jar              hibernate-entitymanager-4.2.7.Final.jar         lucene-grouping-3.6.2.jar         solr-core-3.6.2.jar                       tiles-el-3.0.3.jar
asm-4.2.jar                      hibernate-jpa-2.0-api-1.0.1.Final.jar           lucene-highlighter-3.6.2.jar      solr-solrj-3.6.2.jar                      tiles-extras-3.0.3.jar
avro-1.7.5.jar                   hibernate-search-4.4.0.Final.jar                lucene-kuromoji-3.6.2.jar         spring-amqp-1.3.5.RELEASE.jar             tiles-freemarker-3.0.3.jar
c3p0-0.9.1.1.jar                 hibernate-search-analyzers-4.4.0.Final.jar      lucene-memory-3.6.2.jar           spring-aop-4.0.3.RELEASE.jar              tiles-jsp-3.0.3.jar
c3p0-0.9.2.1.jar                 hibernate-search-engine-4.4.0.Final.jar         lucene-misc-3.6.2.jar             spring-beans-4.0.3.RELEASE.jar            tiles-mvel-3.0.3.jar
cas-client-core-3.1.12.jar       hibernate-search-orm-4.4.0.Final.jar            lucene-phonetic-3.6.2.jar         spring-context-4.0.3.RELEASE.jar          tiles-ognl-3.0.3.jar
cassandra-driver-core-2.1.2.jar  hibernate-validator-5.1.0.Final.jar             lucene-smartcn-3.6.2.jar          spring-context-support-4.0.3.RELEASE.jar  tiles-request-api-1.0.3.jar
cassandra-driver-dse-2.1.2.jar   httpclient-4.3.3.jar                            lucene-spatial-3.6.2.jar          spring-core-4.0.3.RELEASE.jar             tiles-request-freemarker-1.0.3.jar
cglib-3.1.jar                    httpcore-4.3.2.jar                              lucene-spellchecker-3.6.2.jar     spring-cql-1.1.0.RELEASE.jar              tiles-request-jsp-1.0.3.jar
classmate-1.0.0.jar              Hymanson-core-asl-1.9.2.jar                      lucene-stempel-3.6.2.jar          spring-data-cassandra-1.1.0.RELEASE.jar   tiles-request-mustache-1.0.3.jar
commons-beanutils-1.9.2.jar      Hymanson-mapper-asl-1.9.12.jar                   lz4-1.2.0.jar                     spring-data-commons-1.9.0.RELEASE.jar     tiles-request-servlet-1.0.3.jar
commons-codec-1.6.jar            javaee-api-7.0.jar                              mail-1.4.7.jar                    spring-expression-4.0.3.RELEASE.jar       tiles-request-servlet-wildcard-1.0.3.jar
commons-collections-3.2.1.jar    javassist-3.18.1-GA.jar                         mchange-commons-java-0.2.3.4.jar  spring-jdbc-4.0.3.RELEASE.jar             tiles-request-velocity-1.0.3.jar
commons-compress-1.4.1.jar       javassist-3.7.ga.jar                            metrics-core-3.0.2.jar            spring-jms-4.0.3.RELEASE.jar              tiles-servlet-3.0.3.jar
commons-dbcp-1.4.jar             javax.mail-1.5.0.jar                            mvel2-2.0.11.jar                  spring-orm-4.0.3.RELEASE.jar              tiles-template-3.0.3.jar
commons-digester-2.0.jar         jawr-3.3.3.jar                                  netty-3.9.0.Final.jar             spring-rabbit-1.3.5.RELEASE.jar           tiles-velocity-3.0.3.jar
commons-io-2.4.jar               jboss-logging-3.1.3.GA.jar                      ognl-2.7.3.jar                    spring-retry-1.1.0.RELEASE.jar            validation-api-1.1.0.Final.jar
commons-lang-2.6.jar             jboss-transaction-api_1.1_spec-1.0.1.Final.jar  oro-2.0.8.jar                     spring-security-cas-3.1.4.RELEASE.jar     velocity-1.6.2.jar
commons-lang3-3.3.2.jar          jcl-over-slf4j-1.7.12.jar                       paranamer-2.3.jar                 spring-security-config-3.1.4.RELEASE.jar  velocity-tools-2.0.jar
commons-logging-1.1.3.jar        jna-4.0.0.jar                                   poi-3.10-FINAL.jar                spring-security-core-3.1.4.RELEASE.jar    waffle-jna-1.7.jar
commons-pool-1.5.4.jar           jna-platform-4.1.0.jar                          poi-ooxml-3.10-FINAL.jar          spring-security-web-3.1.4.RELEASE.jar     
compiler-0.8.4.jar               jstl-1.2.jar                                    poi-ooxml-schemas-3.10-FINAL.jar  spring-tx-4.0.3.RELEASE.jar               xmlbeans-2.3.0.jar
dom4j-1.6.1.jar                  liquibase-core-3.1.1.jar                        postgresql-9.4-1200-jdbc41.jar    spring-web-4.0.3.RELEASE.jar
ehcache-2.8.3.jar                log4j-over-slf4j-1.7.7.jar                      quartz-2.2.1.jar                  spring-webmvc-4.0.3.RELEASE.jar
freemarker-2.3.20.jar            logback-classic-1.1.3.jar                          stax-api-1.0.1.jar
guava-16.0.jar                   logback-core-1.1.3.jar                          slf4j-api-1.7.5.jar               tiles-api-3.0.3.jar

Below is the list of /usr/share/javalibraries which are used by Tomcat8:

以下是/usr/share/javaTomcat8 使用的库列表:

commons-dbcp-1.4.jar    jsp-api-2.3.jar                     tomcat8-catalina.jar                     tomcat8-i18n-fr-8.0.37.jar    tomcat8-jni.jar                 tomcat8-util-scan-8.0.37.jar
commons-dbcp.jar        libintl.jar                         tomcat8-catalina-storeconfig-8.0.37.jar  tomcat8-i18n-fr.jar           tomcat8-jsp-api-8.0.37.jar      tomcat8-util-scan.jar
commons-pool-1.6.jar    tomcat8-annotations-api-8.0.37.jar  tomcat8-catalina-storeconfig.jar         tomcat8-i18n-ja-8.0.37.jar    tomcat8-jsp-api.jar             tomcat8-websocket-8.0.37.jar
commons-pool.jar        tomcat8-annotations-api.jar         tomcat8-coyote-8.0.37.jar                tomcat8-i18n-ja.jar           tomcat8-juli-8.0.37.jar         tomcat8-websocket-api-8.0.37.jar
ecj.jar                 tomcat8-api-8.0.37.jar              tomcat8-coyote.jar                       tomcat8-jasper-8.0.37.jar     tomcat8-juli.jar                tomcat8-websocket-api.jar
eclipse-ecj-3.11.0.jar  tomcat8-api.jar                     tomcat8-dbcp-8.0.37.jar                  tomcat8-jasper-el-8.0.37.jar  tomcat8-servlet-api-8.0.37.jar  tomcat8-websocket.jar
eclipse-ecj.jar         tomcat8-catalina-8.0.37.jar         tomcat8-dbcp.jar                         tomcat8-jasper-el.jar         tomcat8-servlet-api.jar
el-api-3.0.jar          tomcat8-catalina-ant-8.0.37.jar     tomcat8-el-api-8.0.37.jar                tomcat8-jasper.jar            tomcat8-tribes-8.0.37.jar
el-impl-2.2.jar         tomcat8-catalina-ant.jar            tomcat8-el-api.jar                       tomcat8-jdbc-8.0.37.jar       tomcat8-tribes.jar
java_defaults.mk        tomcat8-catalina-ha-8.0.37.jar      tomcat8-i18n-es-8.0.37.jar               tomcat8-jdbc.jar              tomcat8-util-8.0.37.jar
javaee-api-7.0.jar      tomcat8-catalina-ha.jar             tomcat8-i18n-es.jar                      tomcat8-jni-8.0.37.jar        tomcat8-util.jar

I`ve add el-api, el-impl and jsp-api to /usr/share/java due to errors that these libraries couldn't be found in /usr/share/java.

由于在 /usr/share/java 中找不到这些库的错误,我已将 el-api、el-impl 和 jsp-api 添加到 /usr/share/java。

POM:

聚甲醛:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>org.company.test</groupId>
    <artifactId>app</artifactId>
    <version>0.1.0-SNAPSHOT</version>
    <packaging>war</packaging>

    <url>http://maven.apache.org</url>

    <prerequisites>
        <maven>3.0.0</maven>
    </prerequisites>

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <springframework.version>4.0.3.RELEASE</springframework.version>
    </properties>

    <dependencies>
        <dependency>
            <groupId>org.apache.tomcat</groupId>
            <artifactId>tomcat-servlet-api</artifactId>
            <version>8.0.5</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>javax.servlet.jsp</groupId>
            <artifactId>jsp-api</artifactId>
            <version>2.2</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>javax.el</groupId>
            <artifactId>javax.el-api</artifactId>
            <version>3.0.0</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>org.apache.httpcomponents</groupId>
            <artifactId>httpclient</artifactId>
            <version>4.3.3</version>
        </dependency>
        <dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-validator</artifactId>
            <version>5.1.0.Final</version>
        </dependency>
        <dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-entitymanager</artifactId>
            <version>4.2.7.Final</version>
        </dependency>
        <dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-core</artifactId>
            <version>4.2.7.Final</version>
        </dependency>
        <dependency>
            <groupId>org.apache.tiles</groupId>
            <artifactId>tiles-extras</artifactId>
            <version>3.0.3</version>
            <exclusions>
                <exclusion>
                    <artifactId>slf4j-api</artifactId>
                    <groupId>org.slf4j</groupId>
                </exclusion>
                <exclusion>
                    <artifactId>guava</artifactId>
                    <groupId>com.google.guava</groupId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>javax</groupId>
            <artifactId>javaee-api</artifactId>
            <version>7.0</version>
        </dependency>
        <dependency>
            <groupId>net.jawr</groupId>
            <artifactId>jawr</artifactId>
            <version>3.3.3</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.security</groupId>
            <artifactId>spring-security-cas</artifactId>
            <version>3.1.4.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.security</groupId>
            <artifactId>spring-security-config</artifactId>
            <version>3.1.4.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.11</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-test</artifactId>
            <version>${springframework.version}</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.apache.poi</groupId>
            <artifactId>poi</artifactId>
            <version>3.10-FINAL</version>
        </dependency>
        <dependency>
            <groupId>commons-dbcp</groupId>
            <artifactId>commons-dbcp</artifactId>
            <version>1.4</version>
        </dependency>
        <dependency>
            <groupId>org.apache.tomcat</groupId>
            <artifactId>tomcat-jdbc</artifactId>
            <version>8.0.5</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.hsqldb</groupId>
            <artifactId>hsqldb</artifactId>
            <version>2.3.2</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.apache.poi</groupId>
            <artifactId>poi-ooxml</artifactId>
            <version>3.10-FINAL</version>
        </dependency>
        <dependency>
            <groupId>com.google.guava</groupId>
            <artifactId>guava</artifactId>
            <version>16.0</version>
        </dependency>
        <dependency>
            <groupId>org.cassandraunit</groupId>
            <artifactId>cassandra-unit-spring</artifactId>
            <version>2.0.2.1</version>
            <scope>test</scope>
            <exclusions>
                <exclusion>
                    <artifactId>slf4j-log4j12</artifactId>
                    <groupId>org.slf4j</groupId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>org.apache.cassandra</groupId>
            <artifactId>cassandra-all</artifactId>
            <version>2.1.0</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.postgresql</groupId>
            <artifactId>postgresql</artifactId>
            <version>9.4-1200-jdbc41</version>
            </dependency>
            <dependency>
            <groupId>javax.mail</groupId>
            <artifactId>mail</artifactId>
            <version>1.4.7</version>
        </dependency>
    </dependencies>

    <build>
        <resources>
            <resource>
                <directory>${project.basedir}/src/main/resources</directory>
                <filtering>true</filtering>
            </resource>
            <resource>
                <directory>${project.basedir}/documentation/package/resources</directory>
            </resource>
        </resources>
        <testResources>
            <testResource>
                <directory>${project.basedir}/src/main/webapp/WEB-INF</directory>
            </testResource>
            <testResource>
                <directory>${project.basedir}/src/test/resources</directory>
            </testResource>
            <testResource>
                <directory>${project.basedir}/documentation/conf</directory>
            </testResource>
        </testResources>
        <testOutputDirectory>target/test-classes</testOutputDirectory>
        <testSourceDirectory>${project.basedir}/src/test/java</testSourceDirectory>

        <plugins>
            <plugin>
                <artifactId>maven-clean-plugin</artifactId>
                <version>2.5</version>
            </plugin>
            <plugin>
                <artifactId>maven-deploy-plugin</artifactId>
                <version>2.7</version>
            </plugin>
            <plugin>
                <artifactId>maven-install-plugin</artifactId>
                <version>2.5</version>
            </plugin>
            <plugin>
                <artifactId>maven-site-plugin</artifactId>
                <version>3.3</version>
            </plugin>
            <plugin>
                <artifactId>maven-resources-plugin</artifactId>
                <version>2.6</version>
                <executions>
                    <execution>
                        <id>prod-resources</id>
                        <phase>prepare-package</phase>
                        <goals>
                            <goal>copy-resources</goal>
                        </goals>
                        <configuration>
                            <outputDirectory>${project.build.outputDirectory}</outputDirectory>
                            <overwrite>true</overwrite>
                            <resources>
                                <resource>
                                    <directory>src/main/resources</directory>
                                    <excludes>
                                        <exclude>**/*.jks</exclude>
                                        <exclude>**/*.xlsx</exclude>
                                    </excludes>
                                    <filtering>true</filtering>
                                </resource>
                                <resource>
                                    <directory>documentation/package/resources</directory>
                                    <filtering>true</filtering>
                                </resource>
                            </resources>
                            <filters>
                                <filter>${project.basedir}/src/main/resources/application.properties</filter>
                            </filters>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.1</version>
                <configuration>
                    <source>1.8</source>
                    <target>1.8</target>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
                <version>2.16</version>
                <configuration>
                    <argLine>-Duser.timezone=UTC -Duser.language=en -Duser.region=US</argLine>
                    <threadCount>1</threadCount>
                    <includes>
                        <include>**/*Tests.java</include>
                    </includes>
                    <excludes>
                        <exclude>**/*IntegrationalTests.java</exclude>
                    </excludes>
                    <systemPropertyVariables>
                        <user.timezone>Etc/UTC</user.timezone>
                    </systemPropertyVariables>
                    <!-- <forkCount>3</forkCount> <reuseForks>true</reuseForks> -->

                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-war-plugin</artifactId>
                <version>2.4</version>
                <configuration>
                    <webResources>
                        <resource>
                            <directory>src/main/jsp</directory>
                            <targetPath>WEB-INF/jsp</targetPath>
                        </resource>
                        <resource>
                            <directory>src/main/tags</directory>
                            <targetPath>WEB-INF/tags</targetPath>
                        </resource>
                    </webResources>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>cobertura-maven-plugin</artifactId>
                <version>2.6</version>
                <dependencies>
                    <dependency>
                        <groupId>org.ow2.asm</groupId>
                        <artifactId>asm</artifactId>
                        <version>5.0.3</version>
                    </dependency>
                </dependencies>
                <configuration>
                    <formats>
                        <format>html</format>
                        <format>xml</format>
                    </formats>
                    <check/>
                </configuration>
            </plugin>
        </plugins>
    </build>

    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-context-support</artifactId>
                <version>${springframework.version}</version>
            </dependency>
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-beans</artifactId>
                <version>${springframework.version}</version>
            </dependency>
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-aop</artifactId>
                <version>${springframework.version}</version>
            </dependency>
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-web</artifactId>
                <version>${springframework.version}</version>
            </dependency>
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-core</artifactId>
                <version>${springframework.version}</version>
            </dependency>
            <dependency>
                <groupId>org.slf4j</groupId>
                <artifactId>slf4j-api</artifactId>
                <version>1.7.5</version>
            </dependency>
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-context</artifactId>
                <version>${springframework.version}</version>
            </dependency>
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-expression</artifactId>
                <version>${springframework.version}</version>
            </dependency>
        </dependencies>
    </dependencyManagement>

    <reporting>
        <plugins>
            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>cobertura-maven-plugin</artifactId>
                <version>2.6</version>
                <configuration>
                    <formats>
                        <format>html</format>
                        <format>xml</format>
                    </formats>
                    <check/>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-report-plugin</artifactId>
                <version>2.16</version>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
                <version>2.16</version>
            </plugin>
        </plugins>
    </reporting>
</project>

However, I still have problem with finding com.sun.el.ExpressionFactoryImpl

但是,我仍然无法找到 com.sun.el.ExpressionFactoryImpl

回答by peikuo

remove

消除

 <dependency>
        <groupId>javax.el</groupId>
        <artifactId>javax.el-api</artifactId>
        <version>3.0.0</version>
        <scope>provided</scope>
    </dependency>

For this jar have javax.el.ExpressionFactory

对于这个罐子有 javax.el.ExpressionFactory

and tomcat8-el-api.jarhave the same one.

tomcat8-el-api.jar有相同的。

This will cause conflict

这会引起冲突

回答by Ali Akbarpour

remove this

删除这个

<dependency>
            <groupId>javax.el</groupId>
            <artifactId>javax.el-api</artifactId>
            <version>3.0.0</version>
            <scope>provided</scope>
</dependency>

and try with

并尝试

<dependency>
          <groupId>org.glassfish.web</groupId>
          <artifactId>el-impl</artifactId>
          <version>2.2</version>
</dependency>

回答by Whome

Same problem I had one legacy installation on Tomcat7+JDK1.8 box where a new webapp was deployed. It was meant to be run on Tomcat9+JDK10 but this box was an exception.

同样的问题我在 Tomcat7+JDK1.8 机器上有一个遗留安装,其中部署了一个新的 webapp。它本来是要在 Tomcat9+JDK10 上运行的,但这个盒子是个例外。

java.lang.NoClassDefFoundError: javax/el/ELManager
org.apache.jasper.JasperException: javax.el.ELException: Provider com.sun.el.ExpressionFactoryImpl not found

I could not update T7+JDK1.8 so instead made this brute-force change.

我无法更新 T7+JDK1.8,因此进行了这种蛮力更改。

 rename: tomcat/lib/el-api.jar to el-api.jar_original2.x
 add: tomcat/lib/el-api.jar  version 3.x
 add: tomcat/lib/el-impl-2.2.1-b05.jar   version 2.2.x

https://mvnrepository.com/artifact/javax.el/javax.el-api/3.0.1-b06
https://mvnrepository.com/artifact/org.glassfish.web/el-impl/2.2.1-b05

https://mvnrepository.com/artifact/javax.el/javax.el-api/3.0.1-b06
https://mvnrepository.com/artifact/org.glassfish.web/el-impl/2.2.1-b05

回答by UsamaAmjad

I tried all the already answered solutions but none of them work for me on Spring Boot 2.1.3embeddedtomcat. Below dependencies worked for me

我尝试了所有已经回答的解决方案,但在Spring Boot 2.1.3嵌入式tomcat. 以下依赖项对我有用

    <dependency>
        <groupId>org.apache.tomcat.embed</groupId>
        <artifactId>tomcat-embed-jasper</artifactId>
        <scope>provided</scope>
    </dependency>
    <dependency>
        <groupId>org.glassfish</groupId>
        <artifactId>javax.el</artifactId>
    </dependency>