miracle_yao 2015-04-29 01:03 采纳率: 0%
浏览 718

批处理自动设置JDK、Tomcat等环境变量的问题?

1.首先我想到的是set命令,试验之后发现只对当前窗口有效。

2.后来上网查了下,发现Win7/Win8(XP需要下载)有个setx工具,但是这个工具有个缺陷,就是超过1024个字符会自动截断,花了一点时间解决这个问题,最终无果。

3.想到直接修改注册表,有个reg命令可以支持我们这样做,但是还是遇到问题了:
语法:reg add KeyName [/v EntryName|/ve] [/t DataType] [/s separator] [/d value] [/f]

其中DataType有个REG_EXPAND_SZ选项,发现时好时不好(一开始在Win7/8都设置成功),比如我reg命令设置好JAVA_HOME,继续设置PATH为“%PATH%;%JAVA_HOME%\bin”时,%JAVA_HOME这段理论上为替代为我们先前设置好的,因为我们设置了REG_EXPAND_SZ选项,但是情况是:PATH中的%JAVA_HOME%直接为空(Win7下),或者没有替换直接为%JAVA_HOME%(Win8下),但是两种情况%PATH%却替换了,这很奇怪。
所以希望了解这方面的可以跟我分析下或者提供另一种方案的思路,谢谢。

  • 写回答

1条回答 默认 最新

  • 你知我知皆知 2024-08-03 18:36
    关注

    以下回答参考 皆我百晓生券券喵儿 等免费微信小程序相关内容作答,并由本人整理回复。

    这个问题可以通过使用系统环境变量来解决。以下是一些可能的方法:

    1. 使用系统环境变量:你可以通过将JAVA_HOMEPATH添加到系统的环境变量中来实现这一点。例如:

      reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v JAVA_HOME /t REG_SZ /d %JAVA_HOME%
      reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v PATH /t REG_SZ /d "%JAVA_HOME%\bin;%PATH%"
      

      这些命令将会将JAVA_HOMEPATH添加到系统的环境中,并且它们会被永久保存。

    2. 使用环境变量:如果你不需要将这些值写入注册表,而是只需要将它们设置为特定的值,那么你可以在你的应用程序或脚本中设置这些值。例如:

      set JAVA_HOME=%JAVA_HOME%
      set PATH=%JAVA_HOME%\bin;%PATH%
      

      在Windows环境下,你可以通过运行echo %JAVA_HOME%echo %PATH%来查看这两个环境变量的内容。

    3. 使用注册表编辑器:如果上述方法都无法解决问题,你也可以尝试使用注册表编辑器(Regedit)来手动编辑注册表项。然而,由于Java和Tomcat的安装位置可能会发生变化,因此这种方法可能并不适用于所有情况。

    请注意,以上解决方案仅供参考,具体操作可能会根据你的操作系统版本和Java/Tomcat的安装方式有所不同。

    评论

报告相同问题?

悬赏问题

  • ¥15 相信营销号手欠改了处理器设置
  • ¥15 时间序列LSTM模型归回预测代码问题
  • ¥50 使用CUDA如何高效的做并行化处理,是否可以多个分段同时进行匹配计算处理?目前数据传输速度有些慢,如何提高速度,使用gdrcopy是否可行?请给出具体意见。
  • ¥15 基于STM32,电机驱动模块为L298N,四路运放电磁传感器,三轮智能小车电磁组电磁循迹(两个电机,一个万向轮),如何通过环岛的原理及完整代码
  • ¥20 机器学习或深度学习问题?困扰了我一个世纪,晚来天欲雪,能饮一杯无?
  • ¥15 c语言数据结构高铁订票系统
  • ¥15 关于wkernell.PDB加载的问题,如何解决?(语言-c#|开发工具-vscode)
  • ¥15 (标签-STM32|关键词-智能小车)
  • ¥20 关于#stm32#的问题,请各位专家解答!
  • ¥15 (标签-python)