我是新手,我不知道如何将我的/ bin文件夹内容上传到FTP服务器。试图在互联网上找到解决方案,但他们对我没有帮助。
我的build.gradle文件如下:
apply plugin: 'java'
sourceCompatibility = 1.6
version = '1.0'
repositories {
mavenCentral()
}
dependencies {
compile 'org.apache.httpcomponents:httpclient:4.3.3'
compile fileTree(dir: 'lib', include: '*.jar')
compile 'org.apache.directory.studio:org.dom4j.dom4j:1.6.1'
compile 'jaxen:jaxen:1.1.4'
testCompile group: 'junit', name: 'junit', version: '4.11'
}
build.doLast {
copy {
into 'bin'
from 'build/libs'
}
}
现在我想编写将文件夹内容上传/ bin到FTP服务器的任务。 任何帮助,将不胜感激。提前致谢
答案 0 :(得分:3)
使用apache commons net库。 FTPClient
使用example。
您还需要为构建脚本本身配置依赖项。以下代码执行:
import org.apache.commons.net.ftp.FTPClient
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'commons-net:commons-net:3.3'
}
}
task upload << {
def ftp = new FTPClient()
//following logic..
}
答案 1 :(得分:3)
ftpAntTask使用起来相当简单。
buildscript {
repositories {
mavenCentral()
}
}
repositories{
mavenCentral()
}
configurations {
ftpAntTask
}
dependencies {
ftpAntTask("org.apache.ant:ant-commons-net:1.8.4") {
module("commons-net:commons-net:1.4.1") {
dependencies "oro:oro:2.0.8:jar"
}
}
}
task ftp << {
ant {
taskdef(name: 'ftp',
classname: 'org.apache.tools.ant.taskdefs.optional.net.FTP',
classpath: configurations.ftpAntTask.asPath)
ftp(server: "(removed)", userid: "(removed)", password: "(removed)", remoteDir: "(removed)") {
fileset(dir: "(removed)") {
include(name: "(removed)")
}
}
}
}