Gradle之FTP文件下载
Gradle之FTP文件下载
1、背景
项目上需要使用本地web,所以我们直接将web直接放入assets资源文件夹下。但是随着开发进行web包越来越大;所以我们想着从版本库里面去掉web将其忽略掉,使用gradle命令下载web。由于web包是放在局域网服务器上的,服务器支持FTP文件协议,所以使用FTP插件下载文件。
2、FTP
FTP官网文档
Gradle官网文档
gradle配置
3、FTP工具
ftp-util.gradle
configurations {
ftpAntTask
}
dependencies {
ftpAntTask("org.apache.ant:ant-commons-net:1.9.2") {
module("commons-net:commons-net:3.3")
}
}
void downloadFtpFiles(String serverIp, String userId, String password, String url, localDir) {
ant.taskdef(
name: 'ftp',
classname: 'org.apache.tools.ant.taskdefs.optional.net.FTP',
classpath: configurations.ftpAntTask.asPath
)
//指定ftp地址及账户信息
ant.ftp(action: 'get', server: serverIp, userid: userId, password: password, remotedir: url) {
// 删除老文件
delete(new File(localDir))
//指定下载文件位置
fileset(dir: new File(localDir)) {
include(name: "**")
}
}
}
//导出函数
ext {
downloadFtpFiles = this.&downloadFtpFiles
}
使用方式:
导入方式:将ftp-util.gradle文件放在根目录下然后使用一下代码导入groovy
代码
apply from: "${project.rootProject.file('ftp-util.gradle')}"
下载任务
task downloadFiles() {
//清理缓存
dependsOn 'clean'
def dir = buildDir.getPath() + '/dir'
doLast {
//获取最新版本信息
ant {
println 'web-ftp:serverIp:' + serverIp
println 'web-ftp:userId:' + userId
println 'web-ftp:password:' + password
println 'web-ftp:dir:' + dir
println 'web-ftp:sync start'
def url = webUrl + '/latest'
//调用FTP插件下载文件函数
downloadFtpFiles(serverIp, userId, password, url, dir)
println 'web-ftp:sync end'
}
}
}
调用task方式
./gradlew downloadFiles
Gradle之FTP文件下载的更多相关文章
- java实现FTP文件下载
package com.vingsoft.util;/*** @author 作者:dujj* @version 创建时间:2020年1月13日 下午5:53:39*/import java.io.F ...
- FTP文件下载
using EnterpriseDT.Net.Ftp; /// <summary> /// 下载FTP文件 /// </summary> /// <param name= ...
- sftp,ftp文件下载
一.sftp工具类 package com.ztesoft.iotcmp.util; import com.jcraft.jsch.ChannelSftp; import com.jcraft.jsc ...
- java/struts/Servlet文件下载与ftp文件上传下载
1.前端代码 使用超链接到Struts的Action或Servlet <a target="_blank" href="ftpFileAction!download ...
- [原创]python之socket-ftp
今天来讲讲ftp文件下载,感觉挺有趣的,知道吧,就那种看到新文件生成,而自己写的代码也不多,那种成就感! 一.需求: 客户端发送指令给服务端,服务端根据指令找到相应文件,发送给客户端 分析: PS:e ...
- FTP服务器中文环境引起润日下载不了附件问题解析
20160229日某农商行因为FTP下载功能有问题,导致当天所有涉及FTP文件下载的交易都不能正常使用,对于银行来说影响还是比较大.现将当天出问题的原因及处理过程解析如下,忘能给碰到类似问题的同行以供 ...
- C# ftp 图片上传多快好省
前言 此篇讲到的是图片上传功能,每个网站必定会有这样类似的功能,上传文件.上传图片等等.那么接下来,看看我们EF+uploadfile+ftp如何玩转上传图片吧 效果预览 具体实现 一个简单数据库 只 ...
- C# 获取文件下载的各种方法
public class RemoteDownload { public static void DownLoad(string addressUrl,string localName) { //下载 ...
- java代码实现ftp服务器的文件上传和下载
java代码实现文件上传到ftp服务器: 1:ftp服务器安装: 2:ftp服务器的配置: 启动成功: 2:客户端:代码实现文件的上传与下载: 1:依赖jar包: 2:sftpTools 工具类: ...
随机推荐
- 商业分析BA:用户故事怎么拆?
什么是User Story其实我觉得要对User Story做一个定义还是挺难的.曾经的我以为,所谓User Story是User来讲述的Story.你看啊,User Story的编写范式:As a ...
- EVERSPIN非易失性存储器具吸引力嵌入式技术
相关研究指出,如果以嵌入式MRAM取代微控制器中的eFlash和SRAM,可节省高达90%的功耗:如果采用单一晶体管MRAM取代六个晶体管SRAM,则可实现更高的位元密度和更小的芯片尺寸,这些功率与面 ...
- mongodb-API
mongodb-API 连接mongo(该操作一般在初始化时就执行) 出现 由于目标计算机积极拒绝,无法连接的错误时 查看是否进行虚拟机的端口转发 将 /etc/ 目录下的mongodb.conf 文 ...
- Linux Bash文本操作之sed篇其二
上一篇总结了sed的基础应用(Linux Bash文本操作之sed篇其一),内容实在有够多,这里再对稍微高级一些的用法做一个整理,以方便使用时查阅. 查看文本内容 示例1表示在第一到第四行匹配到的行后 ...
- js 获取当前日期和时间
//显示日期在页面上 yyy-MM-dd function init(){ var date=new Date(); //年 var year=date.getFullYear(); //月 var ...
- NLP入门(十一)从文本中提取时间
在我们的日常生活和工作中,从文本中提取时间是一项非常基础却重要的工作,因此,本文将介绍如何从文本中有效地提取时间. 举个简单的例子,我们需要从下面的文本中提取时间: 6月28日,杭州市统计局权 ...
- K8S 1.16 [plugin flannel does not support config version
[plugin flannel does not support config version 导致 Unable to update cni config: no valid networks fo ...
- JVM学习分享-思考题
package zero.desk.stringconstantpool; import org.junit.Test; /** * @author Zero * @since 2019-09-17. ...
- 3、nio中的selector使用
通过编写一个客户端和服务器端的例子来熟悉selector的使用 服务端逻辑: 1. 绑定一个端口号2. channel注册到selector中3. 用死循环来监听如果有时间发生,遍历selection ...
- 安装oracle11g客户端
1.将压缩包instantclient_11_2 解压到数据库安装目录下(D:\app\hisoft\product\11.2.0),即与dbhome_1同级目录 2.添加环境变量 至此,oracle ...