首页 > 解决方案 > 部署爆炸 WAR 时文件存储在哪里?

问题描述

我有一个 Maven 项目,我IntelliJ以分解的 WAR 形式部署到 tomcat。但是,部署后,当我查看 tomcat 的webapps/文件夹时,没有部署的项目文件。没有什么。绝对没有webapps。没有目录,没有 WEB-INF,没有 META-INF,什么都没有。然而,该应用程序运行良好。

我希望看到:

tomcat/webapps/myProject/WEB-INF/*

tomcat/webapps/myProject/META-INF/*

  1. 文件在哪里?
  2. 如果发生某种智能逻辑,那是什么?
  3. 这个逻辑存储在哪里?如何IntelliJ与文件所在的tomcat通信以运行应用程序?

标签: tomcatintellij-idea

解决方案


我跑了

ps aux | grep tomcat

发现tomcat命令是用这个参数运行的:所以我检查了那个目录,我看到了

<myUsername>$ ls -la /Users/<myUsername>/Library/Caches/IntelliJIdea2019.2/tomcat/Unnamed_lvsrules/conf
total 696
drwxr-xr-x  13 <myUsername>  110517844     416 Jun 15 15:06 .
drwxr-xr-x   7 <myUsername>  110517844     224 Jun 15 15:06 ..
drwxr-xr-x   3 <myUsername>  110517844      96 Jun 15 15:06 Catalina
-rwxr-xr-x   1 <myUsername>  110517844   12505 Apr  7  2016 catalina.policy
-rw-r--r--   1 <myUsername>  110517844    6362 Jun 15 15:06 catalina.properties
-rwxr-xr-x   1 <myUsername>  110517844    6455 Apr  7  2016 catalina.properties.0
-rwxr-xr-x   1 <myUsername>  110517844    1428 Apr  7  2016 context.xml
-rwxr-xr-x   1 <myUsername>  110517844    3352 Apr  7  2016 logging.properties
-rwxr-xr-x   1 <myUsername>  110517844    3129 Jun 15 15:06 server.xml
-rwxr-xr-x   1 <myUsername>  110517844    8414 Jun 12 17:46 server.xml.0
-rwxr-xr-x   1 <myUsername>  110517844    1566 Apr  7  2016 tomcat-users.xml
-rwxr-xr-x   1 <myUsername>  110517844  120879 Jun 15 15:06 web.xml
-rwxr-xr-x   1 <myUsername>  110517844  163213 Apr  7  2016 web.xml.0

所以看起来当 IntelliJ 以这种方式部署到 tomcat 时,它使用这个临时目录来存储所有指向库和编译源文件的指针。在我的情况下,看起来这些指针都指向我项目的“projectName/target/projectName - .. *-SNAPSHOT”目录中的文件。


推荐阅读