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 ,这下应该没问题了。

  

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。

最新文章

  1. linux /proc/meminfo 文件分析(转载)
  2. JS基础知识总结
  3. IIS 404.17 错误解决方案
  4. [wikioi]线段树练习 2
  5. WindDbug应用
  6. 定位 -CLGeocoder - 编码
  7. openStack 对象存储object storage swift
  8. 【Android接口实现】ActionBar利用整理的一些细节
  9. 一.把传统服务做成dubbo分布式服务架构的步骤
  10. 数组的创建和各种API
  11. 多IP服务器应用可以有效的降低成本
  12. C# Emgu 类型转换
  13. k-近邻算法-优化约会网站的配对效果
  14. Laravel 5.5 文档 ] 快速入门 —— 安装配置篇
  15. 查询数据SELECT 之单表查询
  16. Code alignment 代码对齐改进(VS2017)
  17. 浏览器对CSS小数点的解析——坑
  18. spring事物要知道
  19. ios 让textView被键盘挡住上移
  20. 阿里云服务器被他人通过SSH暴力破解后的安全加固

热门文章

  1. SAP WebIDE里UI5应用的隐藏文件project.json
  2. 【大数据】Clickhouse基础知识
  3. element-ui Drawer抽屉组件封装
  4. python中使用uwsgi启动wsgi应用
  5. 单元测试框架之unittest(六)
  6. 前端知识体系:JavaScript基础-作用域和闭包-词法作用域和动态作用域
  7. python3爬虫系列19之反爬随机 User-Agent 和 ip代理池的使用
  8. Java8-Lambda-No.03
  9. linux mint安装mysql-8.0.16
  10. 002_89C52_Proteus_DAC0832_输出50HZ,正弦波,三角波,矩形波,锯齿波