【问题标题】:FTP automation on windows not workingWindows上的FTP自动化不起作用
【发布时间】:2016-01-30 12:04:40
【问题描述】:

我的脚本如下:

<?xml version="1.0" encoding="UTF-8"?>
<project name="Getting from FTP" default="info" basedir=".">

   <target name="info">
    <property name="testfolder" value="My\Test\Folder\Path" />
      <echo>Hello World - Welcome to Apache Ant!</echo>
      <echo>Java version: ${ant.java.version}</echo>
      <echo>Ant Version: ${ant.version}</echo>
      <echo>Base Dir: "${basedir}"</echo>
      <mkdir dir="${testfolder}\ant-test"/>
       <classpath>
            <fileset dir="${basedir}" includes="*.jar" />
      </classpath>
      <ftp action="get"
        server="my.server.location.somewhere"
        userid="username"
        password="password"
        remotedir="/path/on/my/server"
        verbose="yes"
        >
        <fileset dir="${testfolder}\ant-test">
            <include name="**\*" />
        </fileset>
    </ftp>
   </target>
</project>

我正在 Eclipse 上编写文件,并将 commons-net-3.3.jar 文件放在我的工作区文件夹中。在这里,它是AutomateDownload。但是,当我运行脚本时,我得到了这个错误:

Buildfile: mydrive\on_server\my_workspace\ftpauto\AutomateDownload\build.xml
info:
     [echo] Hello World - Welcome to Apache Ant!
     [echo] Java version: 1.8
     [echo] Ant Version: Apache Ant(TM) version 1.9.4 compiled on April 29 2014
     [echo] Base Dir: "mydrive\on_server\my_workspace\ftpauto\AutomateDownload"

BUILD FAILED
mydrive\on_server\my_workspace\ftpauto\AutomateDownload\build.xml:11: Problem: failed to create task or type classpath
Cause: The name is undefined.
Action: Check the spelling.
Action: Check that any custom tasks/types have been declared.
Action: Check that any <presetdef>/<macrodef> declarations have taken place.

它可以在我的本地机器上运行,因为我将 .jar 文件保存在 ANT_HOME 的 lib 文件夹中。它工作得很好。但是现在当我在我的服务器机器上运行它时,我面临着错误。任何人都可以帮助解决我正在遭受的问题,您能否详细告诉我,真正的问题是什么?为什么我会遇到这样的问题?谢谢:)

【问题讨论】:

    标签: xml eclipse ant ftp


    【解决方案1】:

    没有称为“类路径”的 ANT 任务。这就是 ANT 抛出错误的原因。

    我怀疑你想要做的是创建一个路径引用?

      <path id="proj.path">
        <fileset dir="${basedir}" includes="*.jar" />
      </path>
    

    但是... ftp 任务不支持类路径引用...所以最好将依赖项jar 放在“$HOME/.ant/lib”目录中。

    我使用的一个技巧是使用特殊的 ANT 目标下载和安装依赖项:

    <target name="install-dependencies">
        <mkdir dir="${user.home}/.ant/lib"/>
        <get dest="${user.home}/.ant/lib/commons-net.jar" src="http://search.maven.org/remotecontent?filepath=commons-net/commons-net/3.3/commons-net-3.3.jar"/>
    </target>
    

    目标只需要在每台构建机器上运行一次

    $ ant install-dependencies
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-06-22
      • 1970-01-01
      • 2015-11-25
      相关资源
      最近更新 更多