博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
springboot的打包方式
阅读量:6042 次
发布时间:2019-06-20

本文共 2338 字,大约阅读时间需要 7 分钟。

先写一个测试接口

1     package com.example.demo; 2       3     import org.springframework.web.bind.annotation.RequestMapping; 4     import org.springframework.web.bind.annotation.RestController; 5       6     @RestController 7     public class DemoController { 8       9         @RequestMapping("/test")10         String hello() {11             return "hello";12         }13     }

 

一 jar形式
(1)pom.xml
  <groupId>com.example</groupId> <artifactId>demo</artifactId> <version>0.0.1-SNAPSHOT</version> <packaging>jar</packaging> 
(2)在Terminal中执行 mvn clean package

  mvn clean package -Dmaven.test.skip=true  //跳过测试

打包后的jar   demo-0.0.1-SNAPSHOT.jar
(3)在Target下 执行 java -jar  demo-0.0.1-SNAPSHOT.jar
(4)启动成功后在浏览器中输入  http://localhost:8080/test
可以看到浏览器中出现测试接口的返回值hello
二 war形式
war包需要在tomcat的webapps下运行
(1)pom.xml修改
     <groupId>com.example</groupId> <artifactId>demo</artifactId> <version>0.0.1-SNAPSHOT</version> <packaging>jar</packaging> 
(2)将启动类继承SpringBootServletInitializer重写configure(SpringApplicationBuilder builder)方法
   

1 package com.example.demo; 2       3     import org.springframework.boot.SpringApplication; 4     import org.springframework.boot.autoconfigure.SpringBootApplication; 5     import org.springframework.boot.builder.SpringApplicationBuilder; 6     import org.springframework.boot.web.servlet.support.SpringBootServletInitializer; 7       8     @SpringBootApplication 9     public class DemoApplication extends SpringBootServletInitializer {10      11         public static void main(String[] args) {12             SpringApplication.run(DemoApplication.class, args);13         }14      15         @Override16         protected SpringApplicationBuilder configure(SpringApplicationBuilder builder){17             return builder.sources(DemoApplication.class);18         }19     }

 

(3)在Terminal中执行 mvn clean package
打包后的war   demo-0.0.1-SNAPSHOT.war
(4)将demo-0.0.1-SNAPSHOT.war 拷贝到tomcat下的webapps文件夹下
在tomcat运行时会自动将war解压的webapps下
        运行tomcat下bin中的startup.bat  
(5)启动成功后在浏览器中输入  http://localhost:8080/demo-0.0.1-SNAPSHOT/test
可以看到浏览器中出现测试接口的返回值hello

(6)如果在url中想不带项目名称的话,直接把tomcat-->webapps中的ROOT文件删掉,将demo-0.0.1-SNAPSHOT.war重命名为ROOT.war即可

补充:如果启动tomcat失败 不一定是程序的问题 有可能是tomcat的版本问题或者tomcat中有些配置文件被修改了 ,可以换成其他版本试试 或者重新到Apache(http://tomcat.apache.org/)上重新下载一个试试
在我本地使用tomcat7 会报错 但是使用tomcat8 tomcat9 却能正常跑起来

转载于:https://www.cnblogs.com/t3306/p/10219352.html

你可能感兴趣的文章
深度分析Java的ClassLoader机制(源码级别)
查看>>
微服务架构选Java还是选Go - 多用户负载测试
查看>>
我的友情链接
查看>>
Javascript中的异步如何实现回调
查看>>
halcon算子介绍
查看>>
挖掘你不知道的windowsxp中的带宽潜能
查看>>
Software Engineering 招聘要求
查看>>
【转载】InstallAnyWhere自动化制作安装包的知识
查看>>
69、iSCSI共享存储配置实战
查看>>
文本编程
查看>>
乔布斯走了。你还期待苹果吗?
查看>>
优先级
查看>>
Tomcat与Web服务器、应用服务器的关系
查看>>
用DFS实现全排列 & 八皇后问题
查看>>
深度学习博客
查看>>
Android总结篇系列:Android Service
查看>>
Android dumpsys命令的使用
查看>>
Linux Kernel系列一:开篇和Kernel启动概要
查看>>
BZOJ 2756: [SCOI2012]奇怪的游戏 网络流/二分
查看>>
master + worker模式的node多核解决框架——node-cluster
查看>>