码迷,mamicode.com
首页 > Web开发 > 详细

Maven Web项目出现org.eclipse.jdt.internal.compiler.classfmt.ClassFormatException错误

时间:2020-05-21 23:44:03      阅读:89      评论:0      收藏:0      [点我收藏+]

标签:pid   jdk   mat   family   apache   bsp   设置   作用   version   

搬运:https://www.cnblogs.com/NyanKoSenSei/p/11427179.html

 

1. 问题描述

  初学Maven,新建了一个基于Web骨架的Web项目,jar 包也导好了,作用域也设置正确了,Tomcat也正常运行了,可是就是说编译错误。技术图片

 

 

 

2. 问题原因

  虽然我配置了Tomcat 9,但是我忘记了Maven用的是自带的Tomcat。Maven默认的Tomcat是6.0.29版本,而且问题出在我以前的JDK环境是1.7,因为Tomcat 6 支持JDK1.7,所以没有错误。而我现在更换了JDK1.8,因为Tomcat 6不支持JDK 1.8,编译错误也正常,从报错信息里也可以看出来。技术图片

 

 

 技术图片

 

 

 

3. 解决方法

  前往Apache的官网找Maven的插件,我们要将Maven的默认Tomcat改成支持JDK1.8的Tomcat插件。

  Maven插件官网:http://maven.apache.org/plugins/

  在 Misc 一栏里找到 Apache Tomcat,点进去。

  Apache提供了四个版本的Tomcat。

技术图片

 

 

每个版本里面都分Tomcat 6 和 Tomcat 7 两种插件。

  选择最新的 Version 2.2 中的 Tomcat 7 插件,将代码写到项目的 pom.xml 文件下的<build> <plugins> 标签下。

<build>
  <plugins>
    <plugin>
      <groupId>org.apache.tomcat.maven</groupId>
      <artifactId>tomcat7-maven-plugin</artifactId>
      <version>2.2</version>
    </plugin>
  </plugins>
</build>

 

  在运行Maven Goal的时候一定要注意把 tomcat:run 改成 tomcat7:run,否则还是会运行默认的 Tomcat 6。

  技术图片

  技术图片

  成功启动 Tomcat 7 ,这下应该没问题了。另外在某些idea中是输入mvn tomcat7:run才能运行

  技术图片

 

4. 注意事项

  (1) 更换了 Tomcat 插件以后,最好修改一下当前 Tomcat 的端口,否则可能会和默认的 Tomcat 冲突引发错误。

<plugin>
  <groupId>org.apache.tomcat.maven</groupId>
  <artifactId>tomcat7-maven-plugin</artifactId>
  <version>2.2</version>
  <configuration>
    <port>8888</port>
  </configuration>
</plugin>

  (2) 经过测试,Tomcat 7 插件 2.1版本(Tomcat/7.0.37)、2.0版本(Tomcat/7.0.30)、2.0-beta-1版本(Tomcat/7.0.25) 都可以兼容JDK1.8。

 

可以在这个模块设置上模板放置忘记和方便编写,在下面的蓝色define位置选择模板出现的位置,在pom.xml中<plugins></plugins>标签中输入tomcat7就会出现此模板

技术图片

 

Maven Web项目出现org.eclipse.jdt.internal.compiler.classfmt.ClassFormatException错误

标签:pid   jdk   mat   family   apache   bsp   设置   作用   version   

原文地址:https://www.cnblogs.com/zl520/p/12934306.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!