java - 使用 Ant Builder 将文件复制到远程位置

标签 java ant build

请帮助查找为什么我无法将 jar 文件复制到 ftp 位置。它需要 C: 作为远程位置根目录。请帮助纠正错误。

build.xml:

<?xml version="1.0" encoding="UTF-8"?>

<project>

    <target name="clean">
        <delete dir="D:/build"/>
    </target>

    <target name="compile">
        <mkdir dir="D:/build/classes"/>
        <javac srcdir="src" destdir="D:/build/classes"/>
    </target>

    <target name="jar">
        <mkdir dir="D:/build/jar"/>
        <jar destfile="D:/build/jar/ffjar.jar" basedir="D:/build/classes">
            <manifest>
                <attribute name="Main-Class" value="test.ant.Test"/>
            </manifest>
        </jar>
    </target>   

    <target name="run">
        <java jar="D:/build/jar/ffjar.jar" fork="true"/>
    </target>


    <target name="deploy">      
        <ftp server="ip"
           remotedir="/home/ecnet"
           userid="user"
           password="pass"
           depends="yes">
           <fileset dir="/home/ecnet/ffjar.jar"/>
        </ftp>
      </target>

</project>

输出:

Buildfile: C:\Users\Joseph.M\WorkPlace_Struts2\CheckAnt\build.xml
clean:
   [delete] Deleting directory D:\build
compile:
    [mkdir] Created dir: D:\build\classes
    [javac] C:\Users\Joseph.M\WorkPlace_Struts2\CheckAnt\build.xml:11: warning: 'includeantruntime' was not set, defaulting to build.sysclasspath=last; set to false for repeatable builds
    [javac] Compiling 1 source file to D:\build\classes
jar:
    [mkdir] Created dir: D:\build\jar
      [jar] Building jar: D:\build\jar\ffjar.jar
run:
     [java] Hello Ant World
deploy:
      [ftp] sending files

BUILD FAILED
C:\Users\Joseph.M\WorkPlace_Struts2\CheckAnt\build.xml:34: C:\home\ecnet\ffjar.jar does not exist.

Total time: 7 seconds

最佳答案

问题出在这一行

<fileset dir="/home/ecnet/ffjar.jar"/>

因为我相信您的 Ant 安装在 C: 驱动器中,所以它正在尝试相应地解析此路径。您需要将此路径更改为实际路径,例如:

<fileset dir="D:/build/jar/ffjar.jar"/>

我建议创建一个属性文件并在其中定义所有路径,并使用变量而不是在 build.xml 中硬编码所有路径

希望这有帮助。

关于java - 使用 Ant Builder 将文件复制到远程位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24484761/

相关文章:

linux - 使用 Ant 复制到受限文件夹(在 Ubuntu 中使用 Eclipse)

安卓工作室 : how to create a second debug build type

vue.js - 将构建时间戳注入(inject) vue-cli 构建输出文件以验证使用 yarn 的部署

java - 将动态 Web 项目转换为 JPA 项目?

java - 如何从另一个子类创建一个对象?

java - 在 android 中使用 org.apache.commons.net.telnet.* 时出现问题

android - 为什么我的构建需要这么长时间是 Android Studio?

java - 在 Grails Controller 中包含具有 session 范围的服务?

android - 使用 ionic android 构建失败

ant - 目标定义中 "depends"的奇数值