Loading... # 发生情况 项目在部署到tomcat下的时候怎么都没有springboot的初始化信息,于是百度搜了一下。发现都在说的是缺少了SpringBootServletInitializer这个东东,然后加上去了,还是没有效果。 ![2020-02-02T06:04:10.png][1] 一直在排查一直在测试,最后在某一次偷懒的过程中发现了问题 因为每次我部署程序都是直接把代码丢到tomcat的webapp目录下,需要来回的复制,测试起来很麻烦 因此就直接想到了将目录设置为那个不就行了吗,于是在`server.xml`中配置了一句: ![2020-02-02T06:13:31.png][2] ``` <Context path="" docBase="D:\GitPath\JavaWeb\XXXX\XXXX-1.0-SNAPSHOT" debug="0" reloadable="true" /> ``` 这里配置好你的项目的所在路径,然后就神奇的启动了。没想到一次偷懒居然真的能搞出来 注意代码中的`appBase`和`docBase`不要指向同一个目录 `appBase`会将项目下的文件夹当做一个`app`来进行处理,因此全部代码放在根目录并没有用,但是可以用一个文件夹来承载 ------ # 至于具体原理,可以这么理解: 用户根据网址的host进行访问的时候会对应该`host`下的所有部署 `appBase`下的war包会部署为一个`app` `appBase`下的目录会部署为一个`app` 此时再通过context可以指定`访问目录`和代码`docBase`的映射关系 因此这么写应该也是对的: webapp目录下建立`ceshi`文件夹,并将代码放在这里 ``` <Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true"> <Context path="/" docBase="ceshi" debug="0" reloadable="true" /> </Host> ``` 然后直接访问localhost:端口应该可以直接访问你要的app 以上仅为个人感觉,需要一定的证实 <img src="https://www.acdiao.com/usr/themes/handsome/assets/img/emotion/aru/diving.png" class="emotion-aru"> [1]: https://acimg.htt5.com/usr/2020/02/02/1580623451.png [2]: https://acimg.htt5.com/usr/2020/02/02/1580624021.png 最后修改:2020 年 03 月 07 日 01 : 04 AM © 允许规范转载 赞赏 如果觉得我的文章对你有用,或者你想py,请随意赞赏 ×Close 赞赏作者 扫一扫支付 支付宝支付 微信支付
为什么springboot要用外置tomcat啊
可以用内置的。。。只是我的项目搞出来是一个外置的,所以就那样了