Spring Boot可以打成jar包,也可以打成war包。启动方式类有main函数做为入口,比如:java -jar xxx.jar。Spring Boot默认内置Tomcat服务器,当然也可以将war包,部署到其他web容器中(Tomcat、weblogic等)。

1、jar包
pom.xml

<groupId>com.test</groupId>
<artifactId>demo</artifactId>
<version>0.1.1-SNAPSHOT</version>
<name>demo</name>
...
<packaging>jar</packaging>
...

最后的build也要有,不然会报 ”xxx.jar中没有主清单属性“的错
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>

一、jar包
1、生成jar包:
在源代码根目录下,运行mvn package -Dmaven.test.skip=true,根据pom中的packaging值生成demo-0.1.1-SNAPSHOT.jar;参数:maven.test.skip=true 是不打包测试代码。

2、运行:

java -jar demo-0.1.1-SNAPSHOT.jar
或后台运行
nohup java -jar demo-0.1.1-SNAPSHOT.jar &

二、war包

1、pom.xml调整packaging为war,同时排除tomcat

...
<packaging>war</packaging>
...
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope>
</dependency>

DemoApplication.java修改启动类,使其继承SpringBootServletInitializer,新增configure方法。其他不变。

@SpringBootApplication
public class DemoApplication extends SpringBootServletInitializer{

public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}

@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
return application.sources(DemoApplication.class);
}

}
生成war包命令与jar包相同,生成后可以修改war包名称,比如:myspringboot.war,部署到其他应用服务器。
运行war包,application.properties中配置的端口不起作用,将有应用服务器决定。

Maven项目jar和war部署的更多相关文章

  1. 怎么将maven项目打包成war包

    问题:我在eclipse上能运行,然后我想将这个maven项目打包成war然后放到另外一台机子上(其实是手动放在tomcat的webapp目录中),提供外部访问.现在问题是,一直maven项目打包一直 ...

  2. eclipse中Maven项目jar问题

    eclipse中Maven项目jar包下载下来了,不然我们import是时候根本导入不进来,网上的方法都试过了,Maven仓库也清空过后重新下载过了,都解决不了. 后来发现虽然jar包是下载下来了,可 ...

  3. [置顶] Maven多模块项目 eclipse热部署 Maven项目实现 tomcat热部署 二

    最近看到有好多童鞋比较热衷热部署,特别是多模块的项目,其实这热部署如果多模块比较大资源,容易内存溢出或者电脑卡住,并不建议这么做. 不过了解下也没有关系,这里我就在说说热部署的另外一种方法,因为我之前 ...

  4. 自动配置pom文件,构建maven项目jar包依赖关系,找到jar包运用到jmeter

    首先说下pom文件特别方便的优点: 什么是pom文件? POM(Project Object Model) 是Maven的基础. 它是一个XML文件,包含了Maven用来build项目所需要的项目配置 ...

  5. 3.将maven项目jar纳入maven仓库,Mave项目依赖另外一个Maven项目的案例

     1 若想让maven项目依赖另外一个maven项目.被依赖的项目要在maven仓库中有对应的jar包,所以要对依赖的项目运行mvninstall命令. 2 新建第二个项目模块HelloFrien ...

  6. 如何发布本地maven项目jar包部署到nexus私服?

    首先在我们的pom里面描述我们要部署的地址: <distributionManagement> <repository> <id>release</id> ...

  7. maven中jar、war、pom的区别

    一.maven的三种packaging方式 pom是maven依赖文件 jar是java普通项目打包 war是java web项目打包 pom:打出来可以作为其他项目的maven依赖,在工程A中添加工 ...

  8. idea将maven项目打包成war包的方式,以及使用war包

    打包WAR过程 首先对项目进行编译.然后执行以下步骤: 单击下图红色方框处  在IDEA右侧出现maven project选项  单击maven project选项,出现Spring MVC Basi ...

  9. Maven项目打包成war包并启动war包运行

    1 项目打包 1.1 右键点击所需要打包的项目,点击如图所示 Maven clean,这里 Maven 会清除掉之前对这个项目所有的打包信息. 1.2进行完 Maven clean 操作后,在ecli ...

随机推荐

  1. 分析邮件日志从每秒处理3个结果到每秒处理800个结果过程(grep提速)

    由于业务需要,对EDM发出的邮件日志进行分析处理,我要做的是预处理,把posfix杂乱无章的日志中找到我需要的数据. 我用javamail发的邮件,发送邮件时获取到是一个messageId,形如:21 ...

  2. 【C++进阶】getline

    在<istream>中的getline函数有两种重载形式: istream& getline (char* s, streamsize n );istream& getli ...

  3. python - 多进程 Value、Array应用记录

    在代码优化的过程中,碰到了这样一个问题:一个进程中我定义了几个全局变量,然后我又Process了几个子进程,子进程中是否可以各自对全局变量进行修改?最后全局变量会取哪个值呢? 经过一番尝试以后得到结果 ...

  4. 原生JS去重

    方式一: function deleteRepetionChar(arr){ //先判断输入进来的是数组对象还是字符串 if( typeof arr == "object"){ v ...

  5. python-又来练习题--输出一个字符串中最长的子字符串及其长度

    一.有个字符串 str= '$sd1#111$svda123!!!221&eSSDSyyyyyyDG^svda121^svda124^1111111111111' 包含特殊字符.数字和字母,输 ...

  6. 【疑难杂症】Firefox 火狐浏览器 关闭到 http://detectportal.firefox.com 的流量

    日期:2019-07-18 00:02:58 作者:Bay0net 介绍: 0x01. 问题描述 火狐浏览器的时候,抓包会出现很多这样的数据包.  具体的 URL http://detectport ...

  7. 【汇总】Wireshark 过滤规则

    作者:Bay0net 时间:2019-07-01 14:20:09 更新: 介绍:记录使用过的 wireshark 过滤规则 0x01. 使用介绍 抓包采用 wireshark,提取特征时,要对 se ...

  8. HTML真是好东西!

    HTML真是好东西! 学习HTML已经两天了,别小看这两天哦,这短短的两天估计要比学校的四周还要长.不仅有教学,还有同学与老师之间的交流,最重要的是自己上机实践的过程.在这个过程中,不仅知道了在HTM ...

  9. License开源许可证

  10. Web安全测试中常见逻辑漏洞解析(实战篇)

    Web安全测试中常见逻辑漏洞解析(实战篇) 简要: 越权漏洞是比较常见的漏洞类型,越权漏洞可以理解为,一个正常的用户A通常只能够对自己的一些信息进行增删改查,但是由于程序员的一时疏忽,对信息进行增删改 ...