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

原文地址:https://www.cnblogs.com/hejing-michael/p/gradle-zhiftp-wen-jian-xia-zai.html

时间: 2024-10-14 02:08:22

Gradle之FTP文件下载的相关文章

java实现ftp文件下载的源代码

这几天做的一个项目中用到了ftp文件传输,用java实现了ftp文件的下载. 一.win7下搭建ftp服务器 详见:http://jingyan.baidu.com/article/4b52d7026f50eefc5c774bcc.html 二.用java实现ftp文件下载 使用org.apache.commons.net  jar包,下载地址:http://commons.apache.org/proper/commons-net/download_net.cgi 下载完成后,新建java工程

java/struts/Servlet文件下载与ftp文件下载

1.前端代码 使用超链接到Struts的Action或Servlet <a target="_blank" href="ftpFileAction!downloadFile.action?transUrl=ftp://10.0.2.1/tazi/a.xml">请点击下载</a> 2.后台代码 Action或Servlet String s1=transUrl; // transUrl是前台接受的参数 s1=s1.substring(6); s

ftp文件下载公共类

最近做了一个关于ftp文件上传下载的课题,现做一下代码分享 ftp操作公用类 using System; using System.Data; using System.Configuration; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using Sys

ftp文件下载完整代码

1 <?php 2 function logFtpDownload($filename){ 3 $phpftp_host = "host"; //服务器地址 4 $phpftp_port = port; //服务器的端口号 5 $phpftp_user = "username"; // 用户名 6 $phpftp_passwd = "password; //口令 7 $ftp_path = dirname($filename) . "/&q

通过 &lt;a&gt;标签实现ftp文件下载功能

环境: ftp登录用户名 ftp登录密码 ftp文件路径 一般处理程序 下面是我通过网上查找的资料实现的一个例子 首先页面中的a 标签拼接路径带需要的参数 <a class="downST" href="../ashx/Folder.ashx?strPath=ftp://[ftp ip地址]/PLM/File/标准ztree数据.txt&FileName=标准ztree数据.txt">下载</a> 下面是处理程序代码 public v

FTP下载文件工具类

FTP文件下载需要的jar包commons-net-2.0.jar有时还需要:jakarta-oro.jar 1 package com.wdxc.util; 2 3 import java.io.File; 4 import java.io.FileOutputStream; 5 import java.io.IOException; 6 import java.io.OutputStream; 7 import java.util.HashMap; 8 import java.util.Ma

C# 获取文件下载的各种方法

public class RemoteDownload { public static void DownLoad(string addressUrl,string localName) { //下载文件 System.NET.WebClient myWebClient = new System.Net.WebClient(); myWebClient.DownloadFile(@"/10.2.0.254/software/01279.lic.txt", "testdownl

FTP服务器中文环境引起润日下载不了附件问题解析

20160229日某农商行因为FTP下载功能有问题,导致当天所有涉及FTP文件下载的交易都不能正常使用,对于银行来说影响还是比较大.现将当天出问题的原因及处理过程解析如下,忘能给碰到类似问题的同行以供参考. 当天早上一上班就接到电话有人说信贷系统很多交易用不了,查看日志都是报的找不到文件,无法解析. 后经过多方人员的共同努力查找和排查,最终确认是ReceiveFileTransfer.java类中的transfer()方法调用Apache组件commons-net-1.4.1.jar的listF

c#.net从ftp下载文件到本地

c#.net从ftp下载文件到本地    /*首先从配置文件读取ftp的登录信息*/ string TempFolderPath = System.Configuration.ConfigurationManager.AppSettings["TempFolderPath"].ToString(); string FtpUserName = System.Configuration.ConfigurationManager.AppSettings["FtpUserName&q