坑有:
- pom.xml里jar改成war(在pom的name节点上面增加 <packaging>war</packaging>)
- pom.xml里全文搜索tomcat确保里面没有内置tomcat依赖包
- 确保开发与发布的jdk版本一致
使用SpringBoot自动生成的入口Application文件,生成jar包用于命令行执行和docker是没问题的,但是生成war包后不能正常访问接口do文件,需要修改,如下代码即可:
package com.greentran.git_test;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;
@SpringBootApplication(scanBasePackages = {"com.greentran.git_test"})
public class GitTestApplication extends SpringBootServletInitializer {
public static void main(String[] args) {
SpringApplication.run(GitTestApplication.class, args);
}
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
return builder.sources(GitTestApplication.class);
}
}