SpringBoot中jar打包并部署到Tomcat

网友投稿 448 2022-10-24


SpringBoot中jar打包并部署到Tomcat

1.详细步骤

首先在pom.xml文件中做一些修改:

之前打war包需要修改打包方式,这次不需要了,因为默认就是 jar 包指定最终打成jar包的名称手动指定 resources 文件夹编译打包的路径添加SpringBoot内嵌Tomcat解析jsp的依赖(仅仅是为这个实例而添加)

xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">

4.0.0

org.springframework.boot

spring-boot-starter-parent

2.4.5

com.songzihao.springboot

1.0.0

11

org.apache.tomcat.embed

tomcat-embed-jasper

org.springframework.boot

spring-boot-starter-web

SpringBootJar

src/main/webapp

META-INF/resources

*.*

src/main/resources

**/*.*

org.springframework.boot

spring-boot-maven-plugin

1.4.2.RELEASE

xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">

4.0.0

org.springframework.boot

spring-boot-starter-parent

2.4.5

com.songzihao.springboot

1.0.0

11

org.apache.tomcat.embed

tomcat-embed-jasper

org.springframework.boot

spring-boot-starter-web

SpringBootJar

src/main/webapp

META-INF/resources

*.*

src/main/resources

**/*.*

org.springframework.boot

spring-boot-maven-plugin

1.4.2.RELEASE

之后写一个控制层,UserController

package com.songzihao.springboot.controller;

import org.springframework.stereotype.Controller;

import org.springframework.ui.Model;

import org.springframework.web.bind.annotation.RequestMapping;

import org.springframework.web.bind.annotation.ResponseBody;

import java.util.HashMap;

import java.util.Map;

/**

*

*/

@Controller

public class UserController {

@RequestMapping(value = "/user/detail")

public @ResponseBody Object userDetail() {

Map map=new HashMap<>();

map.put("id",1001);

map.put("username","张起灵");

return map;

}

@RequestMapping(value = "/user/page/detail")

public String userPageDetail(Model model) {

model.addAttribute("id",1001);

model.addAttribute("username","小哥");

return "userDetail";

}

}

在核心配置文件中,配置内嵌Tomcat的端口号、上下文根,以及视图解析器。

server.port=9090

server.servlet.context-path=/

spring.mvc.view.prefix=/

spring.mvc.view.suffix=.jsp

然后写一个控制层中对应的jsp页面,用做模拟测试。

<%@ page contentType="text/html;charset=utf-8" language="java" %>

最后是SpringBoot项目的入口类。

package com.songzihao.springboot;

import org.springframework.boot.SpringApplication;

import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication

public class Application {

public static void main(String[] args) {

SpringApplication.run(Application.class, args);

}

}

1.1 在IDEA中启动测试

1.2 将项目打包部署之后,再次启动测试

之前打war包之后,我们需要将生成的这个 .war 文件放到Tomcat的 webapps 目录下。

而这次打的是jar包,生成的是一个.jar 文件,这个文件我们随便放在任意一个目录下都可以。

将这个 SpringBootJar.jar 拷贝在指定的目录下,并且在当前目录下,输入cmd,进行命令行窗口。

之后输入命令:java -jar SpringBootJar.jar ,启动!!!

1.3 关于SpringBoot项目打jar包之后,Tomcat的端口号和上下文根的变化

之前打war包的时候,将项目部署在Tomcat之后,我们核心配置文件中的Tomcat端口号、上下文根就都失效了,要以本地Tomcat为准。

而这次打的是jar包,因为这里并未部署到本地Tomcat,而是说,我们使用的仍然是SpringBoot框架为我们提供的内嵌Tomcat,所以这个时候起作用的就应该是 application.Zycbjgproperties 这个核心配置文件中声明的端口号和上下文根了!!!


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:资产管理的问题
下一篇:黑盒测试、白盒测试、灰盒测试之间的区别-乐搏软件学院
相关文章

 发表评论

暂时没有评论,来抢沙发吧~