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
如何处理多个ant丢失链接的成功状态代码?_Ant - Fatal编程技术网

如何处理多个ant丢失链接的成功状态代码?

如何处理多个ant丢失链接的成功状态代码?,ant,Ant,我正在使用http任务将构建工件推送到工件库。问题是,如果我推送一个新工件,我会得到一个201的HTTP响应代码。如果我推过一个现有的工件,我会得到一个204。在我的上下文中,这两个都是有效的。但是的预期的属性只接受一个响应代码。我尝试了expected=“201204”和expected=“201 204”但是在执行ant节点时,我得到了一个NumberFormatException。有没有一种方法可以同时允许201和204,但将任何其他响应视为失败?没有,不像您尝试的那样直接。你必须修改和重

我正在使用http任务将构建工件推送到工件库。问题是,如果我推送一个新工件,我会得到一个201的HTTP响应代码。如果我推过一个现有的工件,我会得到一个204。在我的上下文中,这两个都是有效的。但是
预期的
属性只接受一个响应代码。我尝试了
expected=“201204”
expected=“201 204”
但是在执行ant节点时,我得到了一个
NumberFormatException
。有没有一种方法可以同时允许201和204,但将任何其他响应视为失败?

没有,不像您尝试的那样直接。你必须修改和重建它。我检查了代码,
expected
是一个
int
。正如你所发现的,它不需要列表

这将是一个难看的解决方法,但您可以设置
failonnexpected=false

通过设置
failonnexpected=false
,然后将状态放入属性
statusProperty=“http.status”
,如果
http.status
不是
201或204
,则可以使用该属性使构建失败,这样无论http返回的是什么,都可以使构建不那么难看。比如:

<condition property="http.status.ok">
  <matches pattern="20[14]" string="${http.status}"/>
</condition>
<fail message="Bad http status ${http.status}" unless="http.status.ok"/>


告诉我更多关于您的工件库的信息。是maven还是ivy布局?您可以利用此任务。

谢谢您的回答。我对回购不太了解,因为它是由团队中的另一位开发人员创建的,我认为它是定制的,不是开源的。我想我只需要执行curl和punt就可以了。这将给我带来良好的兼容性和错误检测。我认为使用http taks可能比使用execing to curl更幸运。我承认我昨天从内存中输入了上面的代码片段,但我刚刚测试了它,它运行正常。您将获得更好的日志记录,并向用户发送更好的失败消息。