Jar打包方式运行

类型为jar时
<packaging>jar</packaging>

1.使用命令mvn clean  package 打包

2.使用java –jar 包名运行

// -server -Xms256m -Xmx256m 设置jvm参数 初始化堆内存值和最大值

例:java -server -Xms256m -Xmx256m  -jar springboot_project.jar

War打包方式 外部Tomcat运行

类型为war时
<packaging>war</packaging>

1.pom.xml修改

 <!-- springboot-web组件 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<!-- 移除内置的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>

说明:scope作用范围

1、compile设置编译范围内有效,在编译和打包时都会将依赖项加载进去。

2、test设置测试范围内有效,只在测试时使用,编译和打包时都不会加载该项。

3、provided设置编译和测试的范围内有效,打包时不会加载该项。

4、runtime设置在运行时加载该依赖项,但是编译时不依赖。

2.修改启动类 继承SpringBootServletInitializer,并实现configure方法

@SpringBootApplication
public class ApplicationRun extends SpringBootServletInitializer { @Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
return application.sources(this.getClass());
} public static void main(String[] args) {
SpringApplication.run(ApplicationRun.class,args);
}
}

说明:外部tomcat启动的时候配置文件中配置的端口号和context-path将失效,使用的是外部tomcat的端口号和tomcat webapps下war包 名称

#修改端口号和contextPath
server.port = 8888
server.servlet.context-path=/test

打包跳过本地的错误(本地环境和生产环境冲突):package -Dmaven.test.skip=true

Springboot项目打成jar包运行 和 打成war包 外部tomcat运行的更多相关文章

  1. SpringBoot webmvc项目导出war包并在外部tomcat运行产生的诸多问题以及解决方案

    背景: 有需求要将原来的Spring(3.2.6) + Springmvc + Hibernate项目重构为Springboot(1.5.2)项目 描述: 记录重构过程,以及期间遇到的种种问题和对应的 ...

  2. maven这些工具负责创建项目,然后maven负责打包好war包扔进tomcat容器,tomcat容器接受的只是jar包

    maven这些工具负责创建项目,然后maven负责打包好war包扔进tomcat容器,tomcat容器接受的只是jar包 2.tomcat不管你什么编译的,也不管你开发工具是什么.Tomcat只接受w ...

  3. tomcat部署项目后,war包是否可刪?war包存在必要性!

    在tomcat中webapps目錄上傳war包后,  对war解压时候. war不能在tomcat运行时删除,否则会删除自动解压的工程. 你可以停止tomcat后删除war. 当你重新部署的时候,如果 ...

  4. SpringBoot打war包并部署到外部tomcat运行(jar工程改造为正war工程)

    如果你的SpringBoot工程是一个jar工程,而想把它改造成war工程,并打成war包放到外部的tomcat下运行,该怎么修改配置呢?这里以Maven工程为例进行介绍. (1)将pom.xml中的 ...

  5. springboot项目实现jar包外配置文件管理

    背景 为实现快速搭建和开发,项目以Springboot框架搭建,springboot搭建的项目可以将项目直接打成jar包并运行,无需自己安装配置Tomcat或者其他服务器,是一种方便快捷的部署方式. ...

  6. springboot项目生成jar包(带静态资源)方法

    [Maven]在pom.xml文件中使用resources插件的小作用 不过war包比较实用,毕竟独立的tomcat比较好控制

  7. IntelliJ IDEA 2017 创建SpringBoot项目, 及.jar没有主清单属性解决办法

    1. 创建项目:  File >> New >> Spring Initializr  选好 SDK, 及 依赖包(比如 Web >> Web ) .   需要使用 ...

  8. springboot+thymeleaf打war包在外部tomcat运行

    工程目录 pom文件注意点 <packaging>war</packaging> <dependency> <groupId>org.springfra ...

  9. maven maven-war-plugin 解决java war项目间的依赖(两个war都可独立部署运行,maven 3.2.x亲测)

    最近整理基础框架,有些项目不想分布式,所以基础框架必须同时可独立部署,也可直接被作为依赖和业务工程打到一起,记录下解决war项目依赖的要点,一开始用warpath,结果报找不到,有些帖子还是17年的, ...

随机推荐

  1. requests beautifulsoup

    requests Python标准库中提供了:urllib.urllib2.httplib等模块以供Http请求,但是,它的 API 太渣了.它是为另一个时代.另一个互联网所创建的.它需要巨量的工作, ...

  2. Pro Android学习笔记 ActionBar(1):Home图标区

     Pro Android学习笔记(四八):ActionBar(1):Home图标区 2013年03月10日 ⁄ 综合 ⁄ 共 3256字 ⁄ 字号 小 中 大 ⁄ 评论关闭 ActionBar在A ...

  3. UVALive 6163(暴力枚举)

    这道题我的做法就是枚举这四个数的所有排列所有运算所有计算顺序. 略有考验代码能力,不能漏掉情况,注意模块化的思想,一些功能写成函数调试的时候结构清晰好分析. 比赛时没有AC是对next_permuta ...

  4. jmeter 查看提取的参数

    需求:查看“传入的参数”或者“正则表达提取的参数”等...... 解决:添加Debug Sampler组件,不需要配置,直接使用默认 1.使用CSV Data Set Config组件“传入的参数”直 ...

  5. CVS winCVS配置讲解及用户管理

    首先 用到工具包包括 CVSNT ,WinCvs及相关python 2.2.3和TCL832 可点此链接下载 http://files.cnblogs.com/lppblogs/%E6%96%87%E ...

  6. [转载] ffmpeg函数介绍

    本文对在使用ffmpeg进行音视频编解码时使用到的一些函数做一个简单介绍,我当前使用的ffmpeg版本为:0.8.5,因为本人发现在不同的版本中,有些函数名称会有点小改动,所以在此有必要说明下ffmp ...

  7. 【JavsScript高级程序设计】学习笔记[1]

    1. 在HTML中使用javascript 在使用script嵌入脚本时,脚本内容不能包含'</script>'字符串(会被认为是结束的标志).可以通过转义字符解决('\') 默认scri ...

  8. Java [Leetcode 347]Top K Frequent Elements

    题目描述: Given a non-empty array of integers, return the k most frequent elements. For example,Given [1 ...

  9. Freemarker 自定义标签 实现TemplateDirectiveModel

    1 自定义标签需要实现TemplateDirectiveModel这个接口中的execute方法 实例代码如下 public class UserListDirective implements Te ...

  10. CDlinux无线破解系统

    cdlinux是一款功能非常强大的无线密码破解器,cdlinux兼容pin软件,不用抓取握手包.不用跑字典.不用客户端在线就能够破解无线路由器的密码,轻轻松松帮助用户达到蹭网的目的. 基本简介 cdl ...