首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >部署期间不更新环境变量

部署期间不更新环境变量
EN

Stack Overflow用户
提问于 2012-07-10 14:53:13
回答 3查看 1.8K关注 0票数 4

我们在做什么:

我们正在使用名为Nolio的工具进行自动部署。我们需要执行的步骤之一是为正在部署的应用程序设置几个环境变量--例如,指向我们首选的java安装目录的JAVA_HOME

我们使用SET命令永久设置环境变量--而且在大多数情况下,它工作得很好。如果我右键单击我的计算机并进入环境变量,它们都会显示得很完美。

问题:

不幸的是,在部署的后面,一些依赖于环境变量的命令行命令被执行,而环境变量似乎没有被设置。使用没有参数的SET通过显示所有当前可用的变量来验证这一点。

现在,如果我重新启动计算机,命令行命令就能正常工作。因此,问题是,虽然变量是永久设置的,并且确实出现在GUI中,但在我重新启动之前,它们不会传播到命令提示。

另一个有趣的提示:--如果我将命令放入BAT文件并双击它,它会运行良好,但是如果我在命令提示符中执行它,变量在重新启动之前不会解析。

有谁知道怎么绕过这件事吗?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-07-10 15:18:22

首先,您使用的是什么版本的Nolio?

在一个Nolio操作的上下文中,您设置值的环境变量将停留在此操作的范围内。(就像在每个动作上打开两个不同的弹壳一样)

这种情况的最佳实践是在Nolio‘’操作中使用环境变量数组输入。您应该编写两个并行Env变量名称和值数组,并将它们作为“运行命令行”操作的输入。

票数 6
EN

Stack Overflow用户

发布于 2012-07-10 14:58:21

似乎您的变量不在命令提示符的作用域中。在部署过程中的哪一点使用SET命令?有趣的是,GUI识别这些值,但是命令提示符在重新启动之前不会识别。

另外,我不清楚为什么不需要使用.bat文件。我可以想出我自己的理由,但你的理由是什么?

编辑

我找到了一篇文章,它展示了您没有提到的一个步骤。你试过:

代码语言:javascript
复制
rem Set the JAVA_HOME environment variable and insert it into the system path.
rem This will make the javac and java commands reachable from the command line.
set JAVA_HOME="C:\Program Files\Java\jdk1.5.0_14"
set PATH=%JAVA_HOME%\bin;%PATH% 
票数 2
EN

Stack Overflow用户

发布于 2012-07-10 15:02:42

我不完全确定为什么命令提示符不能识别命令,批处理文件也会识别,但是您可以使用SETX作为SET的替代方法,看看它是否解决了您的问题。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11416040

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档