【springboot学习】jar和war打包方式

(1)打包成jar包
修改打包方式jar
  <groupId>com.study</groupId>
  <artifactId>FirstSpringBoot</artifactId>
  <version>1.0.0</version>
  <packaging>jar</packaging>
  

解决SpringBoot打包成jar后运行提示没有主清单属性

        <!--解决SpringBoot打包成jar后运行提示没有主清单属性-->
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
            <configuration>
				<fork>true</fork>
			</configuration>
        </plugin>
编译运行
mvn install #编译

在这里插入图片描述
生成上面的jar包,然后进入当前目录,启动jar包

java -jar FirstSpringBoot-1.0.0.jar   #默认启动方式,一旦关闭客户端,服务终止。
java -jar FirstSpringBoot-1.0.0.jar & #后台启动方式
(2)打包成war包
webApplication需要继承SpringBootServletInitializer并重写configure方法。
@SpringBootApplication
public class HelloWebApplication extends SpringBootServletInitializer {

	public static void main(final String[] args) {
		SpringApplication.run(HelloWebApplication.class, args);
	}
	
	@Override
	protected SpringApplicationBuilder configure(final SpringApplicationBuilder builder){
		return builder.sources(HelloWebApplication.class);
	}
}

maven配置打包方式为war
  <groupId>com.study</groupId>
  <artifactId>FirstSpringBoot</artifactId>
  <version>1.0.0</version>
  <packaging>war</packaging>
移除嵌入式tomcat

将嵌入的tomcat依赖方式改为provided。

	<dependency>
	    <groupId>org.springframework.boot</groupId>
	    <artifactId>spring-boot-starter-tomcat</artifactId>
	    <scope>provided</scope>
	</dependency>
项目重命名

利用maven的mvn package 进行打包,打包成功后会在target目录下生成war包,将war包部署到tomcat项目文件下(默认是webapp文件夹下),重启tomcat,打开浏览器访问对应地址,访问地址需要加上项目名字,如果需要手动设置war包的名字,可以通过以下修改pom文件方式修改项目名:

        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-war-plugin</artifactId>
            <configuration>
                <warName>SpringBoot</warName>
            </configuration>
        </plugin>
打包部署

mvn install,把生成的war包丢到tomcat的webapp目录下,启动tomcat

注意:war包部署方式,访问地址需要加上项目名:http://服务器ip:服务器里Tomcat配置的端口/项目名/接口路径
在这里插入图片描述
注意:我们在application文件中配置的server.port=8081并没有生效

但是配置的端口号没有生效,访问的还是8080端口。
在这里插入图片描述
原因是:server.port 这样的Spring Boot属性只有在使用嵌入式Tomcat时才会生效 . 也就是说,如果您通过使用 SpringApplication.run() 执行 main 方法或通过创建可执行JAR并使用 java -jar 启动它来启动应用程序 .

将应用程序作为WAR归档文件部署到独立的Tomcat时,必须通过编辑 server.xml 以及可能的其他配置文件以传统方式配置Tomcat .

(3)war包和jar包的区别

  • tomcat区别

jar包自带内置的tomcat,可以通过server.port,``server.context-path等配置来修改tomcat属性。

war包需要放在外在的tomcat的webapp目录下,然后启动tomcat,才能访问。

  • 访问区别

jar包访问路径 :ip:port/context-path(如果配置了)/接口路径

war包访问路径:ip:port(tomcat配置的端口)/项目名/接口路径

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值