tomcat下的webapps目录下的root文件夹删除之后,部署项目就还会自动生成。如何不自动生成?
在 Apache Tomcat 中,`webapps/ROOT` 文件夹是默认的根上下文路径。如果你删除了它,Tomcat 可能会在启动时重新创建它,尤其是如果你在 `conf/server.xml` 或者 `conf/context.xml` 文件中有相应的配置。
如果你希望删除 `webapps/ROOT` 文件夹并且不希望它在启动时自动生成,可以采取以下几种方法:
### 方法一:修改 `conf/server.xml`
1. 打开 `conf/server.xml` 文件。
2. 找到 `<Host>` 元素,并确认其中没有指向 `ROOT` 的默认部署。
例如,确保 `ROOT` 相关的 `<Context>` 元素被移除或注释掉:
```xml
<Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true">
<!-- Remove or comment out the following Context -->
<!-- <Context path="" docBase="${catalina.home}/webapps/ROOT" /> -->
</Host>
```
### 方法二:修改 `conf/context.xml`
1. 打开 `conf/context.xml` 文件。
2. 确保没有默认指向 `ROOT` 的部署配置。
### 方法三:设置默认根上下文到其他应用
1. 如果你有一个想要作为根上下文路径的应用,可以将该应用的 `WAR` 文件命名为 `ROOT.war` 并放置在 `webapps` 目录下。Tomcat 会将这个 `WAR` 文件解压并作为根上下文。
### 方法四:自定义 `catalina.properties`
1. 打开 `conf/catalina.properties` 文件。
2. 找到 `deployXML` 和 `context.xml.default` 的相关配置,并进行调整。
例如,禁用默认的 `context.xml` 文件:
```properties
deployXML=false
context.xml.default=${catalina.base}/conf/context.xml.default
```
### 方法五:删除自动部署
1. 通过修改 `conf/server.xml` 文件中 `<Host>` 元素的配置,可以禁用自动部署功能:
```xml
<Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="false">
</Host>
```
请注意,如果禁用自动部署,任何新的 WAR 文件将不会被自动解压和部署,你需要手动部署应用。
### 最终建议
在修改任何配置文件之前,建议备份原始文件,以便在出现问题时可以恢复。修改完配置文件后,重启 Tomcat 以使更改生效。
通过这些方法,你可以避免 Tomcat 在启动时自动生成 `webapps/ROOT` 文件夹。
本文来自博客园,作者:Dsx19,转载请注明原文链接:https://www.cnblogs.com/synn/p/18197267