美文网首页
IDEA web项目部署位置(tomcat)

IDEA web项目部署位置(tomcat)

作者: 忧郁的小码仔 | 来源:发表于2017-07-28 14:23 被阅读876次

在IDEA中用JRebel直接将项目运行到tomcat中,部署完成之后,项目可以正常访问了。但是,上传图片却一直不成功(找不到原来的文件夹了),原来是直接写的绝对路径到tomcat下。

这里我们直接部署war exploded 而不是war包。
war exploded模式是直接把文件夹、jsp页面 、classes等等移到Tomcat 部署文件夹里面,进行加载部署。因此这种方式支持热部署,一般在开发的时候也是用这种方式。

到tomcat目录的webapps目录下去找,却没有发现自己的项目。
在tomcat的conf目录下,也没有发现Catalina/localhost/xxxx.xml配置文件
(IDEA 启动/停止 Tomcat 通过catalina.bat run/stop)

后来,在IDEA中启动项目的时候发现了一条信息:

28-Jul-2017 14:10:43.432 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dcatalina.base=/Users/archerlj/Library/Caches/IntelliJIdea2017.1/tomcat/Unnamed_xibu_5

到上面对应的项目目录下(Unnamed_xibu_5),发现了三个文件夹:

屏幕快照 2017-07-28 下午2.12.04.png

原来在IDEA中部署项目到tomcat时,并没有把项目部署到webapps下,而是IDEA自己给每一个项目生成了一个对应的文件夹,并且生成了三个对应的文件夹,这三个文件夹中就包含了tomcat的配置和项目的部署位置。IDEA启动了我们的tomcat,但是却是使用的上面三个文件夹中的项目部署配置文件。

直接打开conf/Catalina/localhost/ROOT.xml文件:

<?xml version="1.0" encoding="UTF-8"?>
<Context path="" docBase="/Users/archerlj/Desktop/myProjects/xibugangwan/target/xibu-0.0.1-SNAPSHOT" />

这里的path是指我们访问web项目的时候是否需要添加额外的路径,比如直接使用

http://localhost:8080/

还是

http://localhost:8080/xibu

这里的额外路径和IDEA中的下面的配置是对应的:

Group.png

而docBase就是我们的项目的部署位置。
接下来可以直接把上传的图片存放到/Users/archerlj/Desktop/myProjects/xibugangwan/target/xibu-0.0.1-SNAPSHOT下面即可。

另外

可以添加部署war包,然后更改额外访问路径,即可在webapps中生成对应的项目:

Group.png

这里必须指定一个额外的访问路径,如果是单独一个"/",也是不会部署到webapps下面的。当然,直接部署war包的话就不支持热部署了。

加油站加盟

相关文章

网友评论

      本文标题:IDEA web项目部署位置(tomcat)

      本文链接:https://www.haomeiwen.com/subject/smoxlxtx.html