windows上的FTP自动化无法工作



我的脚本如下:

<?xml version="1.0" encoding="UTF-8"?>
<project name="Getting from FTP" default="info" basedir=".">
   <target name="info">
    <property name="testfolder" value="MyTestFolderPath" />
      <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: mydriveon_servermy_workspaceftpautoAutomateDownloadbuild.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: "mydriveon_servermy_workspaceftpautoAutomateDownload"
BUILD FAILED
mydriveon_servermy_workspaceftpautoAutomateDownloadbuild.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文件夹中。它运行得很好。但现在,当我在服务器上运行它时,我面临着错误。有人能帮我解决我遇到的问题吗?你能详细告诉我,真正的问题是什么吗?我为什么要面对这样的问题?感谢:)

没有名为"classpath"的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

相关内容

  • 没有找到相关文章

最新更新