springboot两种部署方式

一, 打包成 jar 包,经过命令行部署java

1,配置打包文件类型web

     

<packaging>jar</packaging>

2,   配置打包插件以及入口类spring

<build>
        <finalName>iManagementNew</finalName>
        <plugins>
            <!--jar包部署  -->
            <!-- <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <configuration>
                    <fork>true</fork>
                    <mainClass>com.XX.xxx.MainApplication</mainClass>
                </configuration>
                <executions>
                    <execution>
                    <goals>
                         <goal>repackage</goal>
                     </goals>
                     </execution>
                 </executions>
             </plugin>
        </plugins>
    </build>

3, 进入项目目录下, 输入 mvn clean packageapache

C:\work\workspace\project>   mvn clean packageapi

运行成功,build sucesstomcat

4, 进入target目录,运行jar包服务器

C:\work\workspace\project\target>   java -jar iManagementNew.jarmaven

 

二, war包部署在tomcat服务器ide

1, 修改项目打包方式spring-boot

      <packaging>war</packaging>

2, 配置 tomcat, 去掉spring boot内置tomcat 服务器,添加对应版本号的tomcat的包

① 去掉
       <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-tomcat</artifactId>
            <scope>provided</scope>
    </dependency>

② 添加
       <dependency>
            <groupId>org.apache.tomcat</groupId>
            <artifactId>tomcat-servlet-api</artifactId>
            <version>8.5.20</version>
            <scope>provided</scope>
       </dependency>

3, 插件配置

<build>
        <finalName>iManagementNew</finalName>
        <plugins>
            <!-- war包部署 -->
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>

4, 修改启动类,并重写初始化方法

咱们须要相似于web.xml的配置方式来启动spring上下文了,在Application类的同级添加一个SpringBootStartApplication类,其代码以下:

/*修改启动类,继承 SpringBootServletInitializer 并重写 configure 方法 */
public class SpringBootStartApplication extends SpringBootServletInitializer {
	@Override 
	protected SpringApplicationBuilder configure(SpringApplicationBuilder builder)
	{ 
		// // 注意这里要指向原先用main方法执行的MainApplication启动类 
		return builder.sources(MainApplication.class);
		
	}
}