这个问题在这里已有答案:
我试图运行示例https://github.com/thymeleaf/thymeleafexamples-springmail
当我运行mvn tomcat7:run
得到以下错误。不确定什么是不兼容的版本?我附上了pom.xml的详细信息。想知道这是否是由于我的java版本与maven或tomcat不兼容造成的?
严重:启动期间子容器失败java.util.concurrent.ExecutionException:org.apache.catalina.LifecycleException:无法在java.util启动组件[StandardEngine [Tomcat] .StandardHost [localhost] .StandardContext [/ springmail]]。并发.TutureTask.report(FutureTask.java:122)位于org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:1123)的java.util.concurrent.FutureTask.get(FutureTask.java:188) .apache.catalina.core.StandardHost.startInternal(StandardHost.java:800)org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)at org.apache.catalina.core.ContainerBase $ StartChild.call (ContainerBase.java:1559)位于java.util的java.util.concurrent.FutureTask.run(FutureTask.java:262)的org.apache.catalina.core.ContainerBase $ StartChild.call(ContainerBase.java:1549)。 concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)at java.util.concurrent.ThreadPoolExecutor $ Worker.run(ThreadPoolExecutor.java:615)at java.lang.Thread.run (Thread.java:745)引起:org.apache.catalina.LifecycleException:无法在org.apache.catalina.util.LifecycleBase中启动组件[StandardEngine [Tomcat] .StandardHost [localhost] .StandardContext [/ springmail]]。 start(LifecycleBase.java:154)... 6更多引起:java.lang.UnsupportedClassVersionError:org / springframework / web / SpringServletContainerInitializer:java上java.lang.ClassLoader.defineClass1(Native Method)中不支持的major.minor版本52.0 .lang.ClassLoader.defineClass(ClassLoader.java:800)位于java.net.URLClassLlass的java.net.URLClassLoader.defineClass(URLClassLoader.java:449)中的java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)。 java.net.URLClassLoader $ 1.run(URLClassLoader.java:351)java.net.URLClassLoader $ 1.run(URLClassLoader.java:355)java.security.AccessController.doPrivileged访问$ 100(URLClassLoader.java:71) Native.net)在java.net.URLClassLoader.findClass(URLClassLoader.java:354)org.apache.catalina.loader.WebappClassLo位于org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1669)的ader.findClass(WebappClassLoader.java:1191)位于org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1547)的java位于org.apache.catalina的org.apache.catalina.startup.ContextConfig.getServletContainerInitializer(ContextConfig.java:1668)java.lang.Class.forName(Class.java:270)的.lang.Class.forName0(Native Method) .startup.ContextConfig.getServletContainerInitializers(ContextConfig.java:1652)org.apache.catalina.startup.ContextConfig.processServletContainerInitializers(ContextConfig.java:1562)at 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.fireLi fecycleEvent(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>
问题是您使用的JRE早于版本8运行Tomcat实例。
Tomcat可能使用环境变量JAVA_HOME
/ JRE_HOME
指向JRE。
看看它现在指向的位置。