文章目录
部署方式
解决了拿到了一个tomcat项目后如何将它部署到IDEA里面的问题。
-
file->open
-
选中pom.xml并open as project
-
按照下面的方式部署
4. 选择Deployment
5. 选择war exploded
把下面箭头所指的地方删了
启动即可。(如果没有tomcat那就去参考其他人的博客下载后再来看)
只是部署一下看到这里即可
2023.06.22更新常见问题
1、文件名和项目名不对应
第一步,File->Project Structure
第二步,把Modules里面的Name改了就可以了
2、没有war和war exploded
如下图,有tomcat服务器,但是不能部署项目。第一步,
第二步,进入Project Structure
后,点击Artifacts
,然后按照下图1和2操作。
第三步,如下图,然后tomcat里面就部署好了。
3、由jdbc驱动5改为8之后,出现报错信息如下
Loading class `com.mysql.jdbc.Driver‘. This is deprecated. The new driver class is `com.mysql.cj.jdb
具体信息参考参考地址
按照他的方法改正之后还是报错,发现是输出文件未得到更新。
解决方法有两个,第一个就是找到输出文件,直接改了输出文件;第二个是把输出文件删了重新生成。输出文件一般是红色的那个文件夹,参考如下:
war和war exploded的区别
war
war:发布模式,先打成war包,再发布到服务器的指定目录下(tomcat的webapp)
war exploded
war exploded:直接将文件夹,jsp,class等移到部署的文件夹下面,运行时加载部署内容。支持热部署。
开发时候推荐使用。
update的动作
update resources
更新资源文件,jsp,xml等等,不包括java文件
update classes and resources
更新资源文件和java的class。意味着java文件的更新也能被及时加载。
在debug模式下,修改java文件能够立刻生效,如果是在运行模式下,则不会立刻生效。
redeploy
重新部署,把原来的war移除掉,换成新的war,服务器不进行重启
restart server
重启服务器
注意点:
发布成war和war exploded,是对项目的上下文是有影响。
request.getSession0.getServletContext().getRealpath(" /")
war的上下文的实际路径:是在tomcat的目录下
D:\devlopment\apache-tomcat-9.0.37\webapps\ base01_hello_war\
war exploed的实际路径:当前工程的target
D:\ev01\ mvcsample\ base01-hello\target\ base01-hello-1.0\