一种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
项目文件夹,包含 java
和 resources
作为source目录, webapp
目录作为项目部署文件夹 . 并且都已经做过标记. 创建基本的 servlet
程序运行也没有问题 . 但是使用Maven侧边栏工具里的clean
命令清除生成的项目文件目录target
后, 会出现找不到程序包的错误提示,在命令行输入mvn idea:idea
即可解决 .
但是如果点击运行按钮 , 还会出现问题,就是部署项目后的target
目录只包含resources
下的文件,java
目录下的源文件不会编译 .这时如果运行项目web.xml
中映射的java程序时就会报错.
-
如果是调用
servlet
程序会出现500
错误 , 报错为classNotFound
的错误 ; -
如果在
web.xml
中配置了Filter
的话 , 就会Tomcat运行不起来 , 报错一个或多个筛选器启动失败
.
解决办法
如下图:
使用IDEA侧边栏的Maven工具的编译命令compile
, 编译所需的 java
源文件 . 然后使用 war
命令打包项目 , 之后再启动Tomcat服务器
发布项目就可以了 .