jar、war包发布项目
传统的web应用在发布之前通常会打成WAR包,然后将WAR包部署到Tomact等容器中去使用,Spring Boot应用可以WAR包形式部署,也可以JAR包形式部署
项目不能一直在idea上运行 必须把它打包到服务器上去。
War包:Tomcat容器中
jar:在JRE/JDK环境下,单独启动即可
JAR包方式:
第一步:
打包工具使用的是Maven
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.8</source>
<target>1.8</target>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
<!--打包-->
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
第二步:
运行jar包
java -jar ~~~~~~~
WAR包方式
虽然通过Spring Boot内嵌的Tomcat可以直接运行所打的JAR包,但是有时候我们也会希望通过外部的Tomcat来管理多个项目。由于JAR包在Tomcat中是无法运行的,所以我们需要将项目打成WAR包的形式。
要想将项目打成WAR包,并可以在Tomcat中运行,需要执行以下两个步骤。
- 修改打包方式,并添加Tomcat依赖
将项目pom.xml中元素内的jar修改为war,并在文件中添加Tomcat的依赖配置。其修改和添加的配置信息如下:
<packaging>war</packaging>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope>
</dependency>
上述配置代码中,spring-boot-starter-tomcat是Spring Boot自带的Tomcat依赖,默认会被打到项目的lib包中。当我们将其依赖范围设置为provided时,将产生一个可执行的WAR包,在包中的lib-provided目录会有provided依赖。这样不仅可以部署到Servlet容器启动项目,还可以通过命令行执行java -jar命令来运行此应用。
- 创建SpringBootServletInitializer子类,并覆盖其配置方法
要产生一个可部署的war包,还需要提供一个SpringBootServletInitializer子类,并覆盖它的configure()方法。通常我们是把应用的主类(引导类)修改为继承
@SpringBootApplication
public class SpringBootApplicationTest02 extends SpringBootServletInitializer {
protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
return application.sources(SpringBootApplicationTest02.class);
}
public static void main(String[] args) {
SpringApplication.run(SpringBootApplicationTest02.class, args);
}
完成这两步后,即可通过package命令将项目打成WAR包,然后将WAR包部署到Tomcat中启动。
启动:将war包放到tomcat的webapps目录下 然后启动tomcat就可以了
更多推荐



所有评论(0)