springboot项目war包部署并去除项目名访问

待我称王封你为后i 2022-05-14 14:54 578阅读 0赞

springboot项目war包部署并去除项目名访问

springboot项目jar包部署请见:https://blog.csdn.net/rico_zhou/article/details/81283953

springboot内置了Tomcat,并且我们开发环境springboot启动是可以不带有项目名访问的,近日有了这个需求,原本是jar包部署并注册成服务,现在需要war包部署,以Windows下环境为例。

首先,将pom.xml中打包配置改成war

  1. <!-- war包部署 -->
  2. <packaging>war</packaging>

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3JpY29femhvdQ_size_27_color_FFFFFF_t_70

然后去除springboot中自带的tomcat

  1. <!-- SpringBoot Web容器 -->
  2. <dependency>
  3. <groupId>org.springframework.boot</groupId>
  4. <artifactId>spring-boot-starter-web</artifactId>
  5. <!-- war包部署移除嵌入式tomcat插件 -->
  6. <exclusions>
  7. <exclusion>
  8. <groupId>org.springframework.boot</groupId>
  9. <artifactId>spring-boot-starter-tomcat</artifactId>
  10. </exclusion>
  11. </exclusions>
  12. </dependency>

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3JpY29femhvdQ_size_27_color_FFFFFF_t_70 1

再添加servlet依赖

  1. <!-- war包部署添加servlet依赖 -->
  2. <dependency>
  3. <groupId>javax.servlet</groupId>
  4. <artifactId>javax.servlet-api</artifactId>
  5. <version>3.1.0</version>
  6. <scope>provided</scope>
  7. </dependency>

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3JpY29femhvdQ_size_27_color_FFFFFF_t_70 2

最后如图:

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3JpY29femhvdQ_size_27_color_FFFFFF_t_70 3

接下来会出现报错信息如果你的项目中使用了Tomcat相关的依赖,如:

  1. import org.apache.tomcat.util.http.fileupload.FileUploadBase.FileSizeLimitExceededException;

没关系,不用管。接下来更改启动类,继承SpringBootServletInitializer ,覆盖configure(),把启动类Application注册进去,如:

  1. /**
  2. * web容器中进行部署
  3. *
  4. * @author ricozhou
  5. */
  6. public class RZSpiderServletInitializer extends SpringBootServletInitializer
  7. {
  8. @Override
  9. protected SpringApplicationBuilder configure(SpringApplicationBuilder application)
  10. {
  11. return application.sources(RZSpiderApplication.class);
  12. }
  13. }

接下来不再需要更改内容,根目录下(即src和pom.xml同级目录)执行:mvn clean package

  1. mvn clean package

打包结束后即可在target文件夹中找到war包,或者在eclipse中右击项目>Run as>Maven install打包结束同样在target目录下找到war

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3JpY29femhvdQ_size_27_color_FFFFFF_t_70 4

接下来开始部署,下载安装Tomcat,或者解压tomcat,将war包复制到apache-tomcat-9.0.5\webapps下,到bin目录下双击startup.bat即可启动,可看到webapps下有war包同名目录生成,在浏览器输入localhost:8080/项目名,即可访问。

但是由于我之前是jar包部署,不想加项目名,否则需要更改好多资源路径太麻烦,怎么办呢?

很简单,将webapps目录下的ROOT文件夹删除,将自己的war包更名为ROOT.war,重新启动tomcat,浏览器中输入localhost:8080即可访问

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3JpY29femhvdQ_size_27_color_FFFFFF_t_70 5

发表评论

表情:
评论列表 (有 0 条评论,578人围观)

还没有评论,来说两句吧...

相关阅读