2009-04-14 127 views
1

服务器从Windows 2000升级到Windows 2003,现在我无法从Ant构建脚本访问环境变量。操作系统升级后无法从ANT访问env vars

我仍然可以从命令行访问它们,但例如${env.JAVA_HOME}失败。

如何解决这个问题而不重写〜100个构建脚本可以在所有其他服务器上工作,以便为此服务器定制?

+0

我没有修正win2003不允许ant访问环境变量,但是向ANT_OPTS env var添加-Denv.PROPERTY_NAME =%PROPERTY_NAME%所有需要访问的变量作为变通方法 – Tristan 2009-04-14 16:56:42

+0

I在Linux机器上有同样的问题。变量已设置,但未导出... – givanse 2010-05-30 20:31:29

回答

0

不幸的是我不认为你应该使用这个环境变量。为了解决这些问题,您可以使用内置的${java.home},这不依赖于正确设置的操作系统和/或用户环境。 (请参阅the Ant manual讨论Ant中的内置属性。)

您可以通过(1)手动设置JAVA_HOME环境变量或(2)修改ant.bat来重写所有构建脚本文件来手动分配它。这两个选项都很脆弱,因为Java升级时它们会中断,但至少它们可能会很快失败。

相关问题