一、打jar包
由于springboot内嵌Tomcat,所以打包部署后就可以运行了,不再需要服务器;
要打成jar包,pom文件的packaging必须为 <packaging>jar</packaging>
;
在cmd进入项目目录,或者在eclipse中右键项目Show in->Terminal,然后分别执行以下指令
1、mvn clean
2、mvn package -Dmaven.test.skip=true //打包并跳过测试
3、进入到target找对应的jar包,执行命令 java -jar xxxx.jar
注意:
1、xml文件静态文件必须要打入到jar中。
2、webapp下面的东西也需要打入到jar包中。
3、jar包不支持jsp。
如果将项目打成jar包,那么jsp文件和静态文件要在pom文件中做处理:
<build>
<!-- 打包时的别名 -->
<finalName>dn-jack-springboot</finalName>
<!-- 这里为了保证在src/main/java里面的xml、properties也能够打包进去
<resources>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.properties</include>
<include>**/*.xml</include>
<include>**/*.tld</include>
</includes>
<filtering>false</filtering>
</resource>
</resources>
-->
<resources>
<!-- 打包时将jsp文件拷贝到META-INF目录下 -->
<!-- 把src/main/webapp下的文件搬到META-INF/resources下 -->
<resource>
<!-- 指定resources插件处理哪个目录下的资源文件 -->
<directory>src/main/webapp</directory>
<!--注意此次必须要放在此目录下才能被访问到 -->
<targetPath>META-INF/resources</targetPath>
<includes>
<include>**/**</include>
</includes>
</resource>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.xml</include>
</includes>
</resource>
<resource>
<directory>src/main/resources</directory>
<includes>
<include>**/**</include>
</includes>
<filtering>false</filtering>
</resource>
</resources>
</build>
二、打war包
要打成war包,pom文件的packaging必须为 <packaging>war</packaging>
;并且启动类要继承SpringBootServletInitializer,并重写configure方法:
@Override
protected SpringApplicationBuilder configure(
SpringApplicationBuilder builder) {
return builder.sources(this.getClass());
}
由于war包需要部署到服务器,所以要把移除内置Tomcat;
<!-- web 启动器 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<!-- 排除Tomcat启动器,如果用jetty需要排除,如果要打包(war)部署到服务器需要排除内置Tomcat -->
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
</exclusion>
</exclusions>
</dependency>
或者修改Tomcat依赖scope为provided
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope>
</dependency>
在cmd进入项目目录,或者在eclipse中右键项目Show in->Terminal,然后分别执行以下指令
1、mvn clean
2、mvn package -Dmaven.test.skip=true //打包并跳过测试
3、找到一个服务器Tomcat的路径,进入webapps目录下,把生成的war包复制进去,打开cmd,进入该Tomcat的bin目录下,执行命令:startup.bat就部署完成了。
注意:请求的时候要带工程名。