创建Azure Paas角色时未设置Java PATH



我正在创建一个Azure PaaS角色,它为java.exe设置PATH变量。我有一个后台任务来做这个。

startupApp。CMD看起来像

    setx PATH %PATH%;%CD%jdkbin  /m
    cscript /NoLogo utilunzip.vbs jdk.zip "%CD%"
Call the bat file to start my application. 

当VM启动时,我看到PATH环境变量被正确设置并指向jdkbin文件夹的位置。然而,我的应用程序无法启动错误"java不被识别为内部或外部批处理命令"。

JAVA命令启动我的应用程序

java %JAVA_OPTS% %LOG_OPTS% %LOG4J_OPTS% -cp my_app.jar %MAIN_CLASS%

这是令人困惑的路径,

    当我登录到虚拟机并打开命令提示符窗口并输入java后,我看到它工作正常。
  1. 如果我重新启动虚拟机,java命令来启动我的应用程序运行良好,我和我的应用程序也启动良好。

setx与set function有显著区别:

  • setlocal cmd上下文中生效。这意味着一旦你退出或关闭cmd窗口,你就失去了环境变量。

  • setxfuture cmd上下文中生效。因此,您不会在当前cmd中看到环境变量及其值。

  • 你需要打开一个新的cmd窗口来查看它。

如果你想使用全局和即时,你应该同时使用这两个函数。

描述摘自:http://batcheero.blogspot.de/2008/02/set-and-setx.html

相关内容

  • 没有找到相关文章