添加一个插件java
<!-- 打包插件 --> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build>
这种使用SpringBoot内嵌的Tomcat进行部署。SpringBoot在不指定打包的时候默认jar包形式web
<packaging>jar</packaging>
使用命令启动部署spring
java -jar xxx.jar
添加插件如上apache
打包方式修改成wartomcat
<packaging>war</packaging>
添加tomcat插件,spring boot自己有一个内嵌的tomcat,若是不作其余配置直接打包,就会生成一个jar包。 因此咱们引入外部tomcatspringboot
<!-- 外部 tomcat --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-tomcat</artifactId> </dependency>
在启动类中作以下配置,继承SpringBootServletInitializer,重写configure方法app
@SpringBootApplication public class MyApplication extends SpringBootServletInitializer { public static void main(String[] args) { SpringApplication.run(MyApplication.class, args); } @Override protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) { return builder.sources(MyApplication.class); } }
打包(war)webapp
mvn clean package
部署,拷贝war包到tomcat的webapps路径下,启动tomcatmaven
注意:这种war包方式端口号使用tomcat的,项目名使用war包的名字,对于application.yml配置文件里指定的端口号和项目名会覆盖掉。ide
使用maven的打包插件,打包方式仍是如上。
<build> <!--设置maven-war-plugins插件,不然外部依赖没法打进war包 --> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-war-plugin</artifactId> <configuration> <webResources> <resource> <directory>src/main/resources/jar/</directory> <targetPath>WEB-INF/lib</targetPath> <filtering>false</filtering> <includes> <include>**/*.jar</include> </includes> </resource> </webResources> </configuration> </plugin> </plugins> </build>
注意:打包插件不能再用springboot提供的