mvn clean -D skipTests package
将这个应用打成jar包,直接使用java-jar的命令执行
<build>
<plugins>
<plugin>
<groupId>org.springframework.bootgroupId>
<artifactId>spring-boot-maven-pluginartifactId>
<configuration>
<excludes>
<exclude>
<groupId>org.projectlombokgroupId>
<artifactId>lombokartifactId>
exclude>
excludes>
configuration>
plugin>
plugins>
build>
程序包打好了,可以发布了。但是程序包打好以后,里面的配置都已经是固定的了,比如
配置了服务器的端口是8080。如果8080端口目前正在被占用,我们如何启动springbootl项目
呢?
SpringBoot提供了灵活的配置方式,如果你发现你的项目中有个别属性需要重新配置,
可以使用临时属性的方式快速修改某些配置。方法也特别简单,在启动的时候添加上对应参
数就可以了。
java -jar xxx.jar --server.port=8081 --server.servlet.contextPath=/ssm
传统的部署方式:将项目打成war包放入tomcat的webapps目录下面,启动tomcat,
即可访问。
SpringBoot项目改造打包成war的流程
<packaging>jar</packaging>
修改为
<packaging>war</packaging>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
</exclusion>
</exclusions>
</dependency>
@SpringBootApplication
public class MyAthApplication implements WebMvcConfigurer {
public static void main(String[] args) {
SpringApplication.run(MyAthApplication.class, args);
}
}
改造之后
@SpringBootApplication
public class MyAthApplication extends SpringBootServletInitializer {
public static void main(String[] args) {
SpringApplication.run(MyAthApplication.class, args);
}
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
//注意这里指向原先main方法执行的application启动类
return builder.sources(MyAthApplication.class);
}
}
这种改造方式也是官方比较推荐的方法
5. pom文件中不要忘了maven编译插件
<build>
<plugins>
<plugin>
<groupId>org.springframework.bootgroupId>
<artifactId>spring-boot-maven-pluginartifactId>
plugin>
plugins>
build>
将项目打成war包,部署到外部的tomcat中,这个时候,不能直接访问spring boot项目
中配置文件配置的端口。application.yml中配置的server.port配置的是spring boot内置的
tomcat的端口号,打成war包部署在独立的tomcat上之后,配置的server.port是不起作用
的。一定要注意这一点!!
项目打成jar包运行,一段时间后,前端要对其中某几个页面样式进行改动,使其更美观,那么改动几个css、html后,需要重新打成一个新的jar包,上传服务器并运行,这种改动频繁时很不友好,文件大时上传服务器很耗时,那么w包就能免去这种烦恼,只要覆盖几个css与html即可)