Spring-Maven项目:不受支持的major.minor版本52.0顽固错误

时间:2018-03-22 20:50:10

标签: java spring eclipse maven tomcat

出于基础设施原因,我正在将一个小型应用程序从Tomcat 8 / JRE 1.8降级到Tomcat 7 / JRE 1.7。然而,当我将JRE设置为1.7并将编译器合规性级别设置为1.7时,我在Tomcat 7启动时遇到此错误。 我已经尝试了 question中的所有内容,但没有成功。

  • 编译器合规级别:1.7
  • 目标运行时:Apache Tomcat v7.0
  • JRE系统库:jdk1.7.0_80

Maven POM片段:

var resultArray = [];

for (var i = 0; i < social_post_link.length; i++) {
  var currentSocialLink = social_post_link[i];
  for (var j = 0; j < currentSocialLink.activity_attributes.length; j++) {
    if (!resultArray.some(val => 
       val.activity_attributes.some(activity => 
       activity.attribute_value === currentSocialLink.activity_attributes[j].attribute_value))) {

       resultArray.push(currentSocialLink);
    }
  }
}

任何帮助都是值得的。感谢。

SELECT cast(NULL as varchar(100)) AS [MyName]

3 个答案:

答案 0 :(得分:2)

  

引起:java.lang.UnsupportedClassVersionError:org / springframework / web / SpringServletContainerInitializer:不支持的major.minor版本52.0(无法加载类org.springframework.web.SpringServletContainerInitializer)

您使用的Spring版本似乎是在Java 8上编译的。查看您的Spring版本并检查JRE级别。你可能不得不降级Spring。

答案 1 :(得分:1)

很简单:

Spring依赖的

org.springframework.web.SpringServletContainerInitializer类是用1.8 JDK编译的。您只能做一件事就是将Spring依赖项降级为使用1.7 JDK编译的版本。

如果您在其中一个pom.xml中定义了它们,则只需降级其版本。

如果它是一个传递依赖降级主要依赖,它使用较小的Spring版本

或排除1.8编译的依赖项并明确添加较小的版本。

答案 2 :(得分:0)

您可以使用Enforcer插件来识别使用错误版本编译的库。它会准确地告诉你哪些jar以及它们的编译版本。

<plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-enforcer-plugin</artifactId>
  <version>specifyLatestVersionHere</version>
  <executions>
    <execution>
      <id>jdk-check</id>
      <phase>validate</phase>
      <goals>
        <goal>enforce</goal>
      </goals>
      <configuration>
        <rules>
          <enforceBytecodeVersion>
            <maxJdkVersion>1.7</maxJdkVersion>
          </enforceBytecodeVersion>
        </rules>
        <fail>true</fail>
      </configuration>
    </execution>
  </executions>
  <dependencies>
    <dependency>
      <groupId>org.codehaus.mojo</groupId>
      <artifactId>extra-enforcer-rules</artifactId>
      <version>1.0-beta-6</version>
    </dependency>
  </dependencies>
</plugin>