当前位置: 首页 > 知识库问答 >
问题:

gradle ant ftp错误:"425连接超时"

司寇星海
2023-03-14

我的gradle构建脚本有问题:

apply plugin: 'java'

/*
 * Sources:
 * http://stackoverflow.com/q/17201815/4490015
 * https://github.com/Vazkii/Botania/blob/master/build.gradle
 */

repositories {
    mavenCentral()
}

configurations {
    ftpAntTask
}

/*
 * Load configuration file.
 */
ext.priv = parseConfig(file('private.properties'))

/*
 * Some project properties
 */
version = '0.0.1'
group = 'randers.notenoughvocab'
archivesBaseName = 'NotEnoughVocab'

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'
        }
    }
}

void ftp(Map args, Closure antFileset = {}) {
    ant {
        taskdef(name: 'ftp',
                classname: 'org.apache.tools.ant.taskdefs.optional.net.FTP',
                classpath: configurations.ftpAntTask.asPath)
        Map ftpArgs = args + [ //some default options
                               verbose : 'yes',
                               server  : priv.host,
                               userid  : priv.user,
                               password: priv.pass
        ]
        delegate.ftp(ftpArgs) {
            antFileset.delegate = delegate
            antFileset()
        }
    }
}

def parseConfig(File config) {
    config.withReader {
        def prop = new Properties()
        prop.load(it)
        return (new ConfigSlurper().parse(prop))
    }
}

/**
 * Uploads the javadoc to the server specified in private.properties
 */
task('uploadJavadoc', dependsOn: 'javadoc') << {
    ftp(action: 'send') {
        fileset(dir: 'build/docs/javadoc')
    }
}

jar {
    manifest {
        attributes 'Main-Class': 'randers.notenoughvocab.main.NotEnoughVocab'
    }
}

task('prepareBuild') {
    ant.replace(file: 'src/main/java/randers/notenoughvocab/main/Reference.java', token: '@VERSION@', value: version)
}

build.dependsOn(tasks.prepareBuild)

我收到以下错误消息:

无法放入文件:425无法打开到端口55080的数据连接:连接超时

显然它对其他人有效。我在private中指定的服务器。属性在像FileZilla这样的FTP客户机上运行良好,我不会超时。我也在本地FTP服务器上尝试过同样的方法,但是由于传输没有带宽限制,所以传输是即时的
如何防止超时?端口55080是否应该引起我的关注?

我之前也做了一些调试,我确保priv.hostpriv.userpriv.pass变量包含正确的信息。

共有1个答案

岳俊晖
2023-03-14

如果当您从您的家用计算机启动程序时发生该错误,该计算机通常是NAT'ed的,并且没有可公开路由的IP,您可以尝试使用FTP被动模式。从蚂蚁任务留档中,您应该简单地将被动:'yes'添加到ftpArgs中。

FTP是一个非常奇怪的协议:对于下载和上传文件,服务器会打开另一个连接到客户端,这通常会让没有公共IP的家庭用户头疼。简单的解决方案叫做“被动模式”

 类似资料:
  • 我在用NodeMailer发邮件。我一直在成功地使用我的gmail帐户发送电子邮件。我刚刚通过GoDaddy转到了我的域名自定义电子邮件。此电子邮件通过Hotmail运行。现在我已经做了这个切换,我得到的错误是:每次连接超时。Gmail还能用,但我不能用hotmail。 有什么解决方法吗?NodeMailer有什么更好的电子邮件选择吗? 这是我的设置:

  • 我用这个上传一些文件。如果我在本地连接中,它可以工作,但如果我使用外部连接,我会收到以下消息:

  • 我刚刚升级到Android Studio 2.2.1版本,并且一个项目运行良好,现在我得到以下错误消息: 我知道还有另一个问题与此类似,但不是相同的情况。我不使用任何代理什么的。

  • 在尝试在不同的机器上使用主配置和从配置运行jmeter分发测试时,我们面临着这个问题。Jmeter分布测试在同一台机器上运行良好,但我们得到的连接拒绝主机:xxx.xxx.xxx。xx;嵌套异常是:java.net。ConnectException:连接超时:connect无法配置xxx.xxx.xxxxxx

  • 我在google cloud中创建了一个google cloud函数,它将连接到我在google cloud中创建的postgresql实例。 我正在使用'pg'节点模块。 我已经为此创建了一个私有IP。 我收到以下错误: 错误:由于在timeout.ConnectionTimeouthAndle.SetTimeout(/workspace/node_modules/pg/lib/client.j

  • 我得到错误,而建立gradle(IDE工具版本3.1.3Android)Android版本: 3.1.3 gradle版本: 4.4无法下载文件下面时gradle同步下载https://jcenter.bintray.com/com/android/tools/build/gradle/3.1.3/gradle-3.1.3.pom21秒215毫秒 下载https://dl.google.com/d