SpringBoot项目的两种发布方式(jar包和war包)
在springboot入门和项目示例这个项目和application.yml配置端口号和访问url路径基础上进行修改
1、使用jar包方式发布
1.1、在pom.xml中添加一个SpringBoot的构建的插件
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<!--自动检测项目中的 main 函数-->
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
1.2、在maven视图中,双击“package”,在target中会产生xxx.jar包
1.3、将生成的jar包复制到任意文件夹中,通过java -jar 命令运行该jar包
浏览器访问结果如下:
2、使用war包方式发布
2.1、在pom.xml文件中将jar修改为war
<packaging>war</packaging>
2.2、设置tomcat启动器依赖范围
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<!--tomcat启动器依赖范围-->
<scope>provided</scope>
</dependency>
2.3、设置war包的名字
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<configuration>
<warName>hello</warName>
</configuration>
</plugin>
2.4、修改启动类
package cn.fpl;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;
@SpringBootApplication
public class SpringbootHelloworldApp extends SpringBootServletInitializer {
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
return builder.sources(SpringbootHelloworldApp.class);
}
public static void main(String[] args) {
SpringApplication.run(SpringbootHelloworldApp.class, args);
}
}
2.5、先双击clean后,再确保项目可以正常运行后,双击packag进行打包
2.6、将生成的war包放到本机tomcat安装目录下的webapps目录下
2.7、返回bin目录找到startup.bat双击打开运行tomcat服务器,或直接管理员身份在webapps目录下打开命令行运行
可以发现,运行的war包可以通过自定义的url名字进行访问,服务器端口并不是在application.yml中配置的端口8090,而是本机的tomcat服务器的端口8080