tomcat不支持的major.minor版本52.0

时间:2019-03-07 18:47:28

标签: java spring apache maven tomcat

我正在尝试运行示例https://github.com/thymeleaf/thymeleafexamples-springmail

当我运行mvn tomcat7:run

低于错误。不确定什么是不兼容的版本?我附上了pom.xml详细信息。想知道这是否是我的Java版本与maven或tomcat不兼容引起的吗?

  

严重:子容器在启动期间失败   java.util.concurrent.ExecutionException:   org.apache.catalina.LifecycleException:无法启动组件   [StandardEngine [Tomcat] .StandardHost [localhost] .StandardContext [/ springmail]]           在java.util.concurrent.FutureTask.report(FutureTask.java:122)           在java.util.concurrent.FutureTask.get(FutureTask.java:188)           在org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:1123)           在org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:800)           在org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)           在org.apache.catalina.core.ContainerBase $ StartChild.call(ContainerBase.java:1559)           在org.apache.catalina.core.ContainerBase $ StartChild.call(ContainerBase.java:1549)           在java.util.concurrent.FutureTask.run(FutureTask.java:262)           在java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)           在java.util.concurrent.ThreadPoolExecutor $ Worker.run(ThreadPoolExecutor.java:615)           在java.lang.Thread.run(Thread.java:745)导致原因:org.apache.catalina.LifecycleException:无法启动组件   [StandardEngine [Tomcat] .StandardHost [localhost] .StandardContext [/ springmail]]           在org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:154)           ... 6更多原因:java.lang.UnsupportedClassVersionError:org / springframework / web / SpringServletContainerInitializer:   不支持的major.minor版本52.0           在java.lang.ClassLoader.defineClass1(本机方法)           在java.lang.ClassLoader.defineClass(ClassLoader.java:800)           在java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)           在java.net.URLClassLoader.defineClass(URLClassLoader.java:449)           在java.net.URLClassLoader.access $ 100(URLClassLoader.java:71)           在java.net.URLClassLoader $ 1.run(URLClassLoader.java:361)           在java.net.URLClassLoader $ 1.run(URLClassLoader.java:355)           在java.security.AccessController.doPrivileged(本机方法)           在java.net.URLClassLoader.findClass(URLClassLoader.java:354)           在org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:1191)           在org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1669)           在org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1547)           在java.lang.Class.forName0(本地方法)           在java.lang.Class.forName(Class.java:270)           在org.apache.catalina.startup.ContextConfig.getServletContainerInitializer(ContextConfig.java:1668)           在org.apache.catalina.startup.ContextConfig.getServletContainerInitializers(ContextConfig.java:1652)           在org.apache.catalina.startup.ContextConfig.processServletContainerInitializers(ContextConfig.java:1562)           在org.apache.catalina.startup.ContextConfig.webConfig(ContextConfig.java:1270)           在org.apache.catalina.startup.ContextConfig.configureStart(ContextConfig.java:878)           在org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:376)           在org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)           在org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:90)           在org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5322)           在org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)           ...还有6个

<properties>
        <maven.compile.source>1.6</maven.compile.source>
        <maven.compile.target>1.6</maven.compile.target>
        <project.build.sourceEncoding>US-ASCII</project.build.sourceEncoding>
        <thymeleaf.version>3.0.11.RELEASE</thymeleaf.version>
        <springframework.version>5.1.0.RELEASE</springframework.version>
    </properties>

  <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.8.0</version>
                <configuration>
                  <source>${maven.compile.source}</source>
                  <target>${maven.compile.target}</target>
                  <encoding>${project.build.sourceEncoding}</encoding>
                </configuration>
            </plugin>

            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-resources-plugin</artifactId>
                <version>3.1.0</version>
                <configuration>
                  <encoding>${project.build.sourceEncoding}</encoding>
                </configuration>
            </plugin>

            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-war-plugin</artifactId>
                <version>3.2.2</version>
                <configuration>
                  <failOnMissingWebXml>false</failOnMissingWebXml>
                </configuration>
            </plugin>

            <plugin>
                <groupId>org.apache.tomcat.maven</groupId>
                <artifactId>tomcat7-maven-plugin</artifactId>
                <version>2.2</version>
            </plugin>
  <dependency>
            <groupId>org.thymeleaf</groupId>
            <artifactId>thymeleaf</artifactId>
            <version>${thymeleaf.version}</version>
            <scope>compile</scope>
        </dependency>

        <dependency>
            <groupId>org.thymeleaf</groupId>
            <artifactId>thymeleaf-spring5</artifactId>
            <version>${thymeleaf.version}</version>
            <scope>compile</scope>
        </dependency>

        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>javax.servlet-api</artifactId>
            <version>3.1.0</version>
            <scope>provided</scope>
        </dependency>

        <dependency>
        <groupId>commons-digester</groupId>
        <artifactId>commons-digester</artifactId>
        <version>2.1</version>
        </dependency>

        <dependency>
        <groupId>commons-logging</groupId>
        <artifactId>commons-logging</artifactId>
        <version>1.2</version>
        </dependency>

        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context-support</artifactId>
            <version>${springframework.version}</version>
        </dependency>

        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context</artifactId>
            <version>${springframework.version}</version>
        </dependency>

        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-webmvc</artifactId>
            <version>${springframework.version}</version>
        </dependency>

        <dependency>
            <groupId>commons-fileupload</groupId>
            <artifactId>commons-fileupload</artifactId>
            <version>1.3.1</version>
        </dependency>

        <dependency>
            <groupId>commons-io</groupId>
            <artifactId>commons-io</artifactId>
            <version>2.4</version>
        </dependency>

        <dependency>
            <groupId>javax.mail</groupId>
            <artifactId>mail</artifactId>
            <version>1.4.7</version>
        </dependency>

        <!--
        // FIXME: why does not work with 
        <dependency>
            <groupId>javax.mail</groupId>
            <artifactId>javax.mail-api</artifactId>
            <version>1.5.2</version>
        </dependency>-->

        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-api</artifactId>
            <version>1.7.25</version>
            <scope>compile</scope>
        </dependency>

        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-log4j12</artifactId>
            <version>1.7.25</version>
            <scope>compile</scope>
        </dependency>

        <dependency>
            <groupId>log4j</groupId>
            <artifactId>log4j</artifactId>
            <version>1.2.17</version>
            <scope>compile</scope>
            <exclusions>
                <exclusion>
                    <groupId>com.sun.jdmk</groupId>
                    <artifactId>jmxtools</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>com.sun.jmx</groupId>
                    <artifactId>jmxri</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>javax.jms</groupId>
                    <artifactId>jms</artifactId>
                </exclusion>
            </exclusions>
        </dependency>

    </dependencies>

1 个答案:

答案 0 :(得分:2)

问题是您正在使用早于版本8的JRE运行Tomcat实例。

Tomcat可能使用环境变量JAVA_HOME / JRE_HOME指向JRE。
看一下它现在指向的位置。