文档章节

使用Gradle打包war文件

markdrord
 markdrord
发布于 2015/03/02 18:12
字数 347
阅读 189
收藏 2

Gradle中有名称为war的task,负责war文件打包,如果你的开发环境与发布环境完全相同,那么不需要任何配置,否则需要一些细微的调整。

场景一:不将一些jar文件打包到war文件中

例如jta、servlet、jsp等jar文件在开发环境中是必须使用的,但是不希望被打包到war中,那么可以:

dependencies {
	providedRuntime 'javax.servlet:jsp-api:2.0'
	providedRuntime 'javax.servlet:servlet-api:2.5'
	providedRuntime 'javax.transaction:jta:1.1'
}

将依赖添加到providedRuntime中,则不会出现在war文件中

场景二:classpath文件替换

在dorado-home中configuration.properties文件,在开发环境中通常具有core.runModel=debug内容,但是打包时可不需要出现这些内容,那么可以排除这些文件,使用新的文件:(如果dorado-home在classpath中,例如在src/main/resources下)

processResources {
	from('src/main/resources') {
		include '**/*'
		exclude 'dorado-home/configure*.properties'
	}
	from('src/production') {
		include '**/*'
	}
}

利用名称为processResources的task可以完成这个工作。上面的例子将dorado-home放在了main/src/resources文件夹下,而不是WEB-INF下面。通过exclude关键字将dorado-home下configure.properties、configure-debug.properties和configure-test.properties文件排除掉,即不会出现在war文件中,然后将src/production目录(下面具有dorado-home/configure.properties)下的的所有文件复制过来。

 

场景二:webapp文件替换

如果dorado-home在WEB-INF下面:

war {
    copyAction.exclude 'WEB-INF/dorado-home/configure*.properties'
    webInf {
        from('src/production')
    }
}


© 著作权归作者所有

共有 人打赏支持
markdrord
粉丝 1
博文 7
码字总数 2329
作品 0
浦东
技术主管
使用gradle打war包时,包含中文文件名导致war包无法解压的解决办法

在平时的项目工作中使用的是Gradle+idea+git的工具组合,所以在进行项目打包时使用的gradle来完成。 1.使用gradle clean war 命令将项目打包 2.将生成的war包放置在tomcat的webapps目录下即可...

Alex_Nine
2016/06/06
525
0
Gradle的一些笔记(持续更新)

七月份就开始在接触了用gradle构建的项目,但是对于这个软件一直半懂不懂,直到后来在知乎上看到一篇关于如何理解gradle的文章,感觉明白了很多。链接:https://www.zhihu.com/question/3043...

文质斌彬
2016/10/24
25
0
SpringBoot相关

SpringBoot 目录创建于2017-12-18 SpringBoot 安装SpringBootCLI 安装SDKMAN 注意:所有类要和类 同包或子包 Springboot的测试模块 可以使用MockMvc来测试Controller层的代码 可以使用MockM...

mmythos
2017/12/30
0
0
springboot(十二):springboot如何测试打包部署

有很多网友会时不时的问我,spring boot项目如何测试,如何部署,在生产中有什么好的部署方案吗?这篇文章就来介绍一下spring boot 如何开发、调试、打包到最后的投产上线。 开发阶段 单元测...

ityouknow
2017/05/09
0
0
CAS Server 下载、部署、测试 与 Tomcat 7.0 开启 Https

这篇文章只介绍如何下载、部署、测试,概念将在单独篇章进行讲解。 值得注意的是cas server 没有现成的应用部署包,是需要我们自己去打包成war后,手动进行发布,有两种打包方式,第一种是通...

华山猛男
03/12
1
0

没有更多内容

加载失败,请刷新页面

加载更多

使用JavaScript ES6的新特性计算Fibonacci(非波拉契数列)

程序员面试系列 Java面试系列-webapp文件夹和WebContent文件夹的区别? 程序员面试系列:Spring MVC能响应HTTP请求的原因? Java程序员面试系列-什么是Java Marker Interface(标记接口) 使...

JerryWang_SAP
24分钟前
2
0
docker安装redis、mongodb、mysql等

一、启动docker服务,设置镜像: systemctl start dockervi /etc/docker/daemon.json{ "registry-mirrors": ["https://registry.docker-cn.com"]} 二、下拉镜像: 在镜像中心h...

狼王黄师傅
48分钟前
1
0
deepin系统使用deepin-wine安装exe程序

deepin自带原生deepin-wine使用命令如下: deepin-wine QQBrowser.exedeepin-wine QQMusicSetup.exe 默认安装的快捷方式位置: /root/.wine/drive_c/'Program Files'/Tencent/QQBrowser/......

临江仙卜算子
今天
4
0
快速get到学习Linux操作系统的点

快速get到学习Linux操作系统的点 Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。Linux能够运行主要的UNIX工具软件...

linuxCool
今天
3
0
聊聊:Linux分区的那些方案

安装linux的整体步骤其实比较简单,唯一可能值得说明的地方,大概就是linux的分区了。 下面来给大家推荐一些分区方案。 1 分两个区 实际上,很多时候我们只需要分两个区:`/`和交换分区,日常...

Linux就该这么学
今天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部