我有一臺Unix機器,我可以從我的Windows PC與Windows資源管理器使用\主機\目錄如何使用ant將文件從Unix共享複製到Windows機器?
但是,使用螞蟻副本任務時訪問某些文件,螞蟻口口聲聲說的目錄不存在。 ..
因此,螞蟻的部分是:
<if>
<available file="${unix-dbs-dir}" type="dir" />
<then>
<echo message="${unix-dbs-dir} exists"/>
</then>
<else>
<echo message="${unix-dbs-dir} doesn't exist"/>
</else>
</if>
<copy todir="${dbsDir}" verbose="true">
<fileset dir="${unix-dbs-dir}">
<include name="*.bd"/>
</fileset>
</copy>
的這個輸出是:
15:28:42 [echo] \\hyperion\dbs doesn't exist
15:28:42
15:28:42 BUILD FAILED
15:28:42 ... \\hyperion\dbs does not exist.
如果我嘗試SA我與遠程Windows網絡路徑,它確實工作...
任何想法如何解決這個問題?似乎奇怪,我可以訪問\ hyperion \ dbs與我的Windows資源管理器,但螞蟻顯然不能...
Unix是一個CentOs 6.5,但我想這沒關係。
一些額外的信息。我創建了一個小的build.xml腳本來將文件從我們的Unix機器複製到Windows機器。如果我執行命令行(沒有開始的的方式管理員)中的build.xml ant腳本,那麼輸出是:
C:\Users\lievenc\TestCopyHyperion>%ANT_HOME%/bin/ant.bat -lib lib
Unable to locate tools.jar. Expected to find it in C:\Program Files\Java\jre1.8.
0_45\lib\tools.jar
Buildfile: C:\Users\lievenc\TestCopyHyperion\build.xml
[echo] Load them from directory \\srv-linuxdev\pde\appl\samplenet\dbs
[echo] \\srv-linuxdev\pde\appl\samplenet\dbs exists
[copy] Copying 1 file to C:\Users\lievenc\TestCopyHyperion
[copy] Copying \\srv-linuxdev\pde\appl\samplenet\dbs\apif.d to C:\Users\lievenc\TestCopyHyperion\apif.d
當執行從詹金斯這個build.xml腳本,我得到以下的輸出:
[workspace] $ cmd.exe /C '"C:\Jenkins\tools\hudson.tasks.Ant_AntInstallation\1.9.4\bin\ant.bat -lib lib && exit %%ERRORLEVEL%%"'
Buildfile: C:\Jenkins\jobs\test-copying-from-hyperion\workspace\build.xml
[echo] Load them from directory \\srv-linuxdev\pde\appl\samplenet\dbs
[echo] \\srv-linuxdev\pde\appl\samplenet\dbs doesn't exist
似乎無法弄清楚有什麼不同。 cmd.exe必須作爲其他用戶執行?我只是猜測在這裏,但從我在Windows命令行,我作爲一個域用戶執行螞蟻。也許這與Jenkins不同?
Ant腳本:
<?xml version="1.0"?>
<project basedir="." xmlns:ac="antlib:net.sf.antcontrib">
<!-- antcontrib -->
<taskdef resource="net/sf/antcontrib/antcontrib.properties"/>
<echo message="Load them from directory \\srv-linuxdev\pde\appl\samplenet\dbs" />
<if>
<available file="\\srv-linuxdev\pde\appl\samplenet\dbs" type="dir" />
<then>
<echo message="\\srv-linuxdev\pde\appl\samplenet\dbs exists"/>
</then>
<else>
<echo message="\\srv-linuxdev\pde\appl\samplenet\dbs doesn't exist"/>
</else>
</if>
<copy todir="${basedir}" verbose="true">
<fileset dir="\\srv-linuxdev\pde\appl\samplenet\dbs">
<include name="apif.d"/>
</fileset>
</copy>
</project>
你有嘗試過// hyperion/dbs格式嗎? – deimus
是的,試過了。還嘗試過\\\\ hyperion \\ dbs ... –