【Tomcat与Idea】使用idea配置tomcat开发
使用的idea是ultimate版本
新建项目
代码
注意红框里的代码,这个是获取真实路径,这块会显示后面的两种部署方式的不同
配置artifacts
这两个都是web application
archive会打成一个war文件,而exploded不会打包成war而是直接以classes的形式
以exploded为例
红框上方的output directory的意思是打包后这些文件生成在什么地方
红框里的意思是,生成包的结构是这个样子的
- 首先里面有一个WEB-INF/classes,文件夹里有compile output,指的就是src文件里的代码编译出的class文件
- 还有个Web facet resource,还记得我们新建项目的时候选择的是web application么,这会导致文件夹下面有一个web文件夹,用于存放web网页等资源,如下所示
那么这个Web facet resource的意思就是把这个文件夹里的所有东西,也放在打包生成的包里,
我们现在来build
可以看到生成的文件如下,目录是我们刚刚看到的output directory,上面的红框就是compile output,下面的红框就是web文件夹里的东西
这进一步告诉我们的就是,如果我们最开始构建项目的时候如果没有选择web application,我们仍然可以完成部署,手动把web文件夹下面的东西添加进artifacts的配置里面去就可以了,library file就是依赖的jar,module output就是编译输出,model source就是src源码
IDEA配置Tomcat
然后可以把我们刚刚配置好的artifacts放进deployment里
这样的话,启动这个tomcat的时候,会将两个项目都部署进去
命令行打印
可见这个就是在idea工程文件夹下面运行的
根目录为
可见这种方式把工程打包进tomcat文件夹里了
Exploded和Artifacts的区别
看一下编译生成的文件就可以知道了
正如之前所说,exploded没有进行打包,这个是在idea里设置的
热部署
所谓热部署就是更改文件即时完成网页更新,我原本想的是先更新一点代码,然后通过build artifacts更新部署的文件
artifacts打包方式部署的话,能够完成实时更新
exploded那种总得需重新deploy一下,如下,下面那个小箭头就是重新部署的意思
应该跟tomcat的配置有关