Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/313.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/ant/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用Ant Builder将文件复制到远程位置_Java_Ant_Build - Fatal编程技术网

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

Java 使用Ant Builder将文件复制到远程位置,java,ant,build,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">

请帮助查找我无法将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:drive中,所以它正试图相应地解析此路径。您需要将此路径更改为实际路径,如:

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

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


希望这有帮助。

错误消息显示“C:\home\ecnet\ffjar.jar不存在”。jar目标构建目标文件“D:/build/jar/ffjar.jar”。看起来有点不一样…谢谢你的回复。你说的“不同”是什么意思?这很奇怪,我不知道。蚂蚁是如何扎根于C的。不同的意思是:它们不平等!原因很清楚。ftp任务要求获取文件“/home/ecnet/ffjar.jar”。当您从驱动器“C:”运行它时,这是附加的。您好。谢谢您的回复。我正在本地构建jar并复制到远程位置10.151.*@user:pass/home/ecnet--这是位置。但您已经向D.提到过。请告诉我原因。问题是因为我不理解build.xml的fileset标记,这是您在
remotedir=“/home/ecnet”下指定的位置
文件集标签将从本地驱动器中删除pic文件,ftp将把它们推送到RemoteDir。谢谢。刚刚理解