Spingboot发布成war包,遇到路径访问不了问题。

问题遇到的现象和发生背景

Springboot maven工程,工具是IEDA,打包成war,想部署在外部的tomcat服务器上,发布成虚拟路径方式(如:
http://localhost:8080/**test**)。此种方式发现资源的访问存在问题(即是路径问题),访问不了。原因是我想在一个端口下,
通过不同的虚拟路径定位到不同的项目。

我想要达到的结果

希望有springboot开发经验的同学帮看下。

请看下html的资源配置是否正确,static静态资源引入是否正确。

img

img

用nginx来设置虚拟路径方式,会更简单一点。

不是前后端分离吗?

修改tomcat conf 包下的 server.xml 添加context 元素

img

path:即要建立的虚拟目录,,注意是/kaka,它指定访问Web应用的URL入口,如http://localhost:8080/kaka/****。

2>docBase:为实际目录在硬盘上的位置(应用程序的路径或者是WAR文件存放的路径)。
3>reloadable:如果这个属性设为true,Tomcat服务器在运行状态下会监视在WEB-INF/classes和Web-INF/lib目录CLASS文件的改变,如果监视到有class文件被更新,服务器自动重新加载Web应用,这样我们可以在不重起tomcat的情况下改变应用程序。

***.yml文件配置如下:

server:
  port: 8080
  servlet:
    context-path: /fruits/
。。。

注意是war包形式,jar包形式我之前是调的没问题的。

想在同一个端口下不得用nginx转发一下

host 里面的unpackWARs和autoDeploy改成true 自动解压war包为虚拟目录和自动发布
然后把你webapps文件夹里面之前解压过的那个fruits删了 war包留着 重新启动tomcat试试