【问题标题】:Can't access env vars from ANT after OS upgrade操作系统升级后无法从 ANT 访问环境变量
【发布时间】:2009-04-14 15:08:38
【问题描述】:

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

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

如何在不重写约 100 个构建脚本的情况下解决此问题,这些脚本可在所有其他服务器上运行以针对该服务器进行定制?

【问题讨论】:

  • 我没有针对 win2003 的修复,不允许 ant 访问环境变量,但将 -Denv.PROPERTY_NAME=%PROPERTY_NAME% 添加到 ANT_OPTS 环境变量中以获取您需要访问的所有变量作为一种解决方法
  • 我在 Linux 机器上遇到了同样的问题。变量已设置,但未导出...

标签: ant windows-server-2003 upgrade


【解决方案1】:

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

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

【讨论】:

  • 这只是一个,我们使用 TOMCAT_HOME、WL_HOME、JALOPY_HOME 和许多其他非内置的。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-04-17
  • 1970-01-01
  • 2012-12-24
  • 1970-01-01
  • 2018-12-13
  • 1970-01-01
相关资源
最近更新 更多