2014-01-15 41 views
11

系统属性我有具有taskdef一个Ant脚本和任务创建一个HTTPS连接互联网和事端与SSL的东西是错误的。因此我想设置系统属性javax.net.debug=all以获得更多信息。设置与蚂蚁

在java中我会做这个使用-D选项,但在蚂蚁,这是用于蚂蚁性质是不一样的系统属性。

如果这不会是一个taskdef而是一个java任务,我可以使用sysproperty属性,但它是没有java -task。

谷歌搜索这是令人沮丧的复杂,因为蚂蚁的属性和系统属性在蚂蚁是如此相似,大多数搜索结果是关于其他(或关于java任务)。

很明显,我不是唯一一个有这个问题的人,但是我发现其他人的问题(like here)没有回答,或者没有回应(像here)。设置这样的属性

回答

8

一种方法是ANT_OPTS系统变量。你必须非常仔细地不是简单地掠过对谷歌选项,这个选项可以设置方式,状态答案是,因为它听起来这么像不是它做什么:

documentation说:

ANT_OPTS - 应传递给JVM的命令行参数。 例如,您可以在此定义系统属性或设置最大Java堆大小。

谁你有什么期望? ANT_OPTS是JVM的选项,而不是顾名思义的蚂蚁。用于ant选项的var称为ANT_ARGS。现在

我可以这样推出蚂蚁:ANT_OPTS="-Djavax.net.debug=all" ant myTarget并且可以看到吨的输出日志。

(然而,这个问题让我们开放了这样一个变量是否可以使用XML来设置)。

+0

谢谢,这个信息helpeld了我很多,我想弄清楚为什么詹金斯如果需要在_build定义它是“错误的”价值 - >调用Ant - >属性_例如'user.name = prod'。当在_Java Options_(使用ANT_OPS)中定义为'-Duser.name = prod'时,所有工作都可以实现。系统属性user.name被覆盖。 – timguy