在maven中为实现热部署设置,部署至webapp,即webroot
设置classes输出目的地,修改maven默认编译位置 (使用该方法在maven打包的时候须要将classes输出目的地修改至WEB-INF/classes目录外,不然会报错xxxxx not found 目前已获得解决)
首先 设置maven 打包的输出目录, 这样能够自动copy jar 至web根目录下lib下面
<!-- 更改maven默认的打包目录 --> <plugin> <artifactId>maven-war-plugin</artifactId> <configuration> <webappDirectory>${basedir}/src/main/webapp</webappDirectory> <warSourceDirectory>${basedir}/src/main/webapp</warSourceDirectory> </configuration> </plugin>
设置
default out folder classes
的输出目的地 实现修改后自动编译即发布
这样设置后 在打包的时候概率会出现 class 编译出错 xxxxx not found的状况,因为是maven 编译class和须要打包webapp下全部的文件时发现classes目录下已经存在文件了冲突了 解决方法:修改maven默认编译classes的目录与default out folder classes输出目的地一致 解决冲突
<build> <outputDirectory>${basedir}/src/main/webapp/WEB-INF/classes</outputDirectory> </build>
问题获得解决 , 设置
default out folder classes
以后最好clean 整个项目整理下目录结构 ,在设置上面属性以后,maven编译class文件出现编译不完整的情况,手动clean代替其建立目录结构
OK 至此
自动编译已经设置好了
webapp目录格式已经能够直接部署至web容器上了