bat中设置Java环境变量

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了bat中设置Java环境变量相关的知识,希望对你有一定的参考价值。

@echo off
rem JDK5
set PATH=C:\Program Files\Java\jdk1.5.0_07\bin;C:\WINDOWS;C:\WINDOWS\COMMAND
set classpath=.;C:\Program Files\Java\jdk1.5.0_07\lib\tools.jar;C:\Program Files\Java\jdk1.5.0_07\lib\dt.jar

如果jdk安装目录不固定该怎么办?求教……

参考技术A C:\Program Files\Java\jdk1.5.0_07 这段写成一个JAVA_HOME 的系统变量
然后这样设置 set PATH=%JAVA_HOME%\bin;C:\WINDOWS;C:\WINDOWS\COMMAND
参考技术B 垃圾解决方案好意思拿出来

在java中设置bat变量并执行/调用该bat

我的java类中有3个变量。我想在bat文件中设置这些变量,然后执行/调用bat。

在我使用这个蝙蝠进行该过程之前

Config.bat

set PM_Drive = Whatever
set SWG = Whatever
set TOMCAT_HOME = Whatever
call nextbat.bat 

nextbat.bat需要这些变量才能工作。

我怎么能在java中这样做,所以我不再需要config.bat了?

我尝试过使用ProcessBuilder和Runtime,但我无法弄明白。也许有人可以帮助我。

到目前为止,这是我的进步,显然不起作用。

    public void connectTOMCAT(String SWG, String PM_DRIVE, String TOMCAT_HOME) 
    String[] cmdline = "cmd", "/c", "start cmd.exe", "set SWG", "set PM_DRIVE", "set TOMCAT_HOME" ;
    try ;
        Runtime.getRuntime().exec(cmdline);
     catch (IOException e) 
        // TODO Auto-generated catch block
        e.printStackTrace();
    


答案

我不是批处理脚本的专家,但我想你的BAT文件包含对这样的JVM调用

java -jar my_jar.jar

所以你可以将变量作为参数传递给你

java -jar my_jar.jar my_first_arg my_second_arg

并在java程序中的Main方法中检索它们。

如果你想将这些变量作为你的蝙蝠调用的参数传递,我猜你可以做一些事情:

java -jar my_jar.jar %1 %2

以上是关于bat中设置Java环境变量的主要内容,如果未能解决你的问题,请参考以下文章

如何在 conda 包中设置环境变量,以便在激活包含该包的环境时设置它们?

在java中设置bat变量并执行/调用该bat

在java中设置环境变量[关闭]

怎样在程序运行过程中设置临时环境变量

怎样在Ubuntu中设置环境变量

dockerfile中设置环境变量