Maven项目jar和war部署

Spring Boot可以打成jar包,也可以打成war包。启动方式类有main函数做为入口,比如:java -jar xxx.jar。Spring Boot默认内置Tomcat服务器,当然也可以将war包,部署到其他web容器中(Tomcat、weblogic等)。

1、jar包

pom.xml

<groupId>com.test</groupId>
<artifactId>demo</artifactId>
<version>0.1.1-SNAPSHOT</version>
<name>demo</name>
...
<packaging>jar</packaging>
...

生成jar包
在源代码根目录下,运行mvn package -Dmaven.test.skip=true,根据pom中的packaging值生成demo-0.1.1-SNAPSHOT.jar;参数:maven.test.skip=true 是不打包测试代码。
jarjar
运行

java -jar demo-0.1.1-SNAPSHOT.jar
或后台运行
nohup java -jar demo-0.1.1-SNAPSHOT.jar &

nohup
测试
修改control类中的方法,去掉return "/login"字符串中的“/”

@RequestMapping("/login")
public String login(HttpServletRequest request, Map<String, Object> map)
		throws Exception {
	System.out.println("-- UserController.login --");
	    ...更多源代码参见之前博文...
	return "login";
}

2、war包

pom.xml调整packaging为war,同时排除tomcat

...
<packaging>war</packaging>
...
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-tomcat</artifactId>
    <scope>provided</scope>
</dependency>

DemoApplication.java修改启动类,使其继承SpringBootServletInitializer,新增configure方法。其他不变。

@SpringBootApplication
public class DemoApplication extends SpringBootServletInitializer{

	public static void main(String[] args) {
		SpringApplication.run(DemoApplication.class, args);
	}
	
	@Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
        return application.sources(DemoApplication.class);
    }

}

生成war包命令与jar包相同,生成后可以修改war包名称,比如:myspringboot.war,部署到其他应用服务器。
运行war包,application.properties中配置的端口不起作用,将有应用服务器决定。
tomcat

猜你喜欢

转载自blog.csdn.net/weixin_44153121/article/details/86605661
今日推荐