一种Maven项目启动时不编译java文件的解决方案

问题

前提介绍 :

环境版本 :

JDK -version : 1.8.0-251

Tomcat -version : 8.5.5

Maven -version : 3.6.3

项目情况描述

使用IDEA 创建 webapp, 使用的是Maven 作为项目管理工具, 选的Maven提供的项目模板 , web服务器使用的 Tomcat

问题描述

如下图:

创建标准的Maven 项目文件夹,包含 javaresources 作为source目录, webapp 目录作为项目部署文件夹 . 并且都已经做过标记. 创建基本的 servlet 程序运行也没有问题 . 但是使用Maven侧边栏工具里的clean 命令清除生成的项目文件目录target后, 会出现找不到程序包的错误提示,在命令行输入mvn idea:idea 即可解决 .

但是如果点击运行按钮 , 还会出现问题,就是部署项目后的target目录只包含resources下的文件,java目录下的源文件不会编译 .这时如果运行项目web.xml中映射的java程序时就会报错.

  1. 如果是调用servlet 程序会出现 500 错误 , 报错为classNotFound的错误 ;

  2. 如果在web.xml中配置了Filter 的话 , 就会Tomcat运行不起来 , 报错 一个或多个筛选器启动失败 .

解决办法

如下图:

使用IDEA侧边栏的Maven工具的编译命令compile , 编译所需的 java 源文件 . 然后使用 war 命令打包项目 , 之后再启动Tomcat服务器发布项目就可以了 .

原文地址:https://www.cnblogs.com/shmebluk/p/13192777.html