Can';在操作系统升级后无法从ANT访问环境变量

Can';在操作系统升级后无法从ANT访问环境变量,ant,windows-server-2003,upgrade,Ant,Windows Server 2003,Upgrade,服务器已从Windows 2000升级到Windows 2003,现在我无法从Ant构建脚本访问环境变量 我仍然可以通过命令行很好地访问它们,但是${env.JAVA_HOME}例如,实例失败 如何在不重写所有其他服务器上工作的~100个构建脚本的情况下修复此问题,以便为此服务器进行自定义?不幸的是,我认为您不应该使用该环境变量。为了解决这些问题,您可以使用内置的${java.home},它不依赖于正确设置的操作系统和/或用户环境。(请参阅Ant中内置属性的讨论。) 通过(1)手动设置JAVA_

服务器已从Windows 2000升级到Windows 2003,现在我无法从Ant构建脚本访问环境变量

我仍然可以通过命令行很好地访问它们,但是
${env.JAVA_HOME}
例如,实例失败


如何在不重写所有其他服务器上工作的~100个构建脚本的情况下修复此问题,以便为此服务器进行自定义?

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


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

这只是一个选项,我们使用TOMCAT_HOME、WL_HOME、JALOPY_HOME和许多其他非内置的选项。我没有win2003不允许ant访问环境变量的修复程序,但是,将-Denv.PROPERTY\u NAME=%PROPERTY\u NAME%添加到ANT\u OPTS env var中,以使您需要访问的所有变量都可以作为一种解决方法,在Linux机器上也存在同样的问题。变量已设置,但未导出。。。