【发布时间】:2019-01-25 22:07:05
【问题描述】:
一段时间以来,我们一直使用 Eclipse 作为我们的默认 IDE,它一直是令人头疼的根源,但摆脱它并不是一个选择,因为我们的构建过程与它密不可分。我最近让我们能够从 VSCode 构建。问题是,该构建适用于除我之外的每台计算机,而且我一生都无法弄清楚原因。当从我的计算机上运行时,并且仅在我的计算机上运行时,在构建过程中将无法检测到已修改的文件。更奇怪的是,当 Passive FTP 设置为“yes”时,文件会被简单地忽略,就好像它们根本没有被修改过一样。但是,当它设置为“否”时,我收到此错误:
SendPrivateMCS:
[ftp] sending files
[ftp] transferring C:\...\newtest.cfm
BUILD FAILED
C:\...\build.xml:1262: could not put file: 500 Illegal PORT command.
我明白为什么会出现此错误。我正在尝试发送到为被动 FTP 配置的服务器。这不是什么谜。奇怪的是,当使用主动 FTP 时,检测到我修改的测试文件并尝试将其发送到服务器,但是当使用被动时,它会一并忽略:
SendPrivateMCS:
[ftp] sending files
[ftp] 0 files sent
[ftp] sending files
[ftp] 0 files sent
[ftp] sending files
[ftp] 0 files sent
[ftp] sending files
[ftp] 0 files sent
同样,这只发生在我的电脑上。其他开发人员构建得很好,以与我完全相同的方式,并且没有任何问题,这让我相信这是 Java、Ant 或某种我不知道但可以的本地 FTP 设置的问题真的不知道从哪里开始寻找。 build.xml 文件与我们一直使用的相同,没有被修改过。我尝试过重新安装 Java、重新安装 ANT、更改我的环境变量以及查找不正确卸载/删除的文件,但到目前为止没有任何效果。我知道我提供的只是一些堆栈跟踪,但实际上并没有任何与此相关的代码。我只是尝试使用经过验证的 build.xml 从 Powershell (ant Deploy -DDeployserver=foo) 运行和 ANT 构建,该构建.xml 已经在这里使用了至少五年。出于某种原因,它仅在我使用活动 FTP 时才能看到我的文件,并且似乎找不到任何资源来帮助我找出可能的原因。有什么建议吗?
【问题讨论】:
-
你能发布 build.xml 吗?我猜这就是检测修改文件的逻辑所在。
-
路径名中的空格?
-
检查环境变量(路径 | ANT_HOME | ,,,) - 听起来您使用的是不同版本的 ant
-
向你的同事询问代理设置(防火墙)!!! ;)