当前位置: 首页 > 面试题库 >

如何在Windows上的Java应用程序中设置/更新PATH变量?

陆文斌
2023-03-14
问题内容

等效于以下命令行:

set PATH=%PATH%;C:\Something\bin

要运行我的应用程序,必须在PATH变量中添加一些内容。因此,我想在程序开始时捕获异常,如果程序无法启动,并显示一些向导供用户选择需要放在PATH中的程序的安装文件夹。我将使用该文件夹的绝对路径,并将其添加到PATH变量中,然后再次启动我的应用程序。

编辑

那个“东西”是VLC播放器。我需要PATH变量中的安装文件夹(例如:C:\ Program Files \ VideoLAN \
VLC)。我的应用程序是单个可执行文件.jar文件,为了使用它,VLC必须位于PATH中。因此,当用户首次启动我的应用程序时,该小向导将弹出以选择VLC文件夹,然后使用该文件夹更新PATH。


问题答案:

您可以使用Process对象执行命令,也可以使用读取该对象的输出BufferedReader,这是一个快速的示例,可以帮助您:

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class Main {

    public static void main(String args[]) {
        try {
            Process proc = Runtime.getRuntime().exec("cmd set PATH=%PATH%;C:\\Something\\bin");
            proc.waitFor();
            BufferedReader reader = new BufferedReader(new InputStreamReader(proc.getInputStream()));

            String line = reader.readLine();
            while (line != null) {
                //Handle what you want it to do here
                line = reader.readLine();
            }
        } 
        catch (IOException e1) { 
            //Handle your exception here
        }
        catch(InterruptedException e2) {
            //Handle your exception here
        }

        System.out.println("Path has been changed");
    }
}


 类似资料:
  • 问题内容: 我正在尝试为Java中的流程构建器设置PATH环境变量,我尝试了以下操作: 但是以下操作无效,流程构建器选择了默认系统路径。 问题答案: 在新过程中使用路径。它不用于查找命令。 您可以尝试下一个解决方案。运行cmd.exe(bash等),然后运行命令。 例:

  • 问题内容: 如果您有一个DPI超过150的显示器(例如Macbook Pro),您可能还会发现问题: Java Swing应用程序上的字体对于DPI显示器来说太小了 ,我根本无法更改字体大小(直接忽略Windows DPI,仅显示 非常原始的DPI- > 96 。除了更改屏幕分辨率外,我什么也不能做,这绝对会使LCD上的所有内容变得模糊。 是的,我有一台具有高DPI监视器的笔记本电脑,分辨率为19

  • 问题内容: 我有一个从源代码下载并构建GTK的dockerfile,但是以下行未更新映像的环境变量: 我读到我应该使用ENV来设置环境值,但是以下指令似乎也不起作用: 这是我的整个Dockerfile: 问题答案: 您可以使用环境更换你如下:

  • 我有一个dockerfile,它从源代码处下载并构建GTK,但是下面一行并没有更新我的映像的环境变量: 我读到我应该使用ENV来设置环境值,但是下面的指令似乎也不起作用: 这是我的全部DockerFile:

  • 自从升级到OSX Mountain Lion之后,我在为eclipse和Maven设置环境变量时遇到了一些问题。 我的目标是在Eclipse中运行一个maven命令。该命令需要从远程存储库下载人工制品(解析依赖项)。存储库通过HTTPS进行身份验证。 (另请参见在Mac OS X Lion上设置环境变量)这对OSX Lion非常有效。 但苹果在Mountain Lion上改变了这种行为。我读过en

  • 问题内容: 如果我从命令行()执行然后执行,我会看到此字符串已添加到PATH。如果我关闭并打开命令行,则该新字符串不在PATH中。 将来如何从命令行永久更新PATH,而不仅限于当前进程? 我不想通过转到“系统属性”→“高级”→“环境变量”并在那里更新PATH来执行此操作。 问题答案: 有关如何执行此操作的文档可以在MSDN上找到。关键摘录是这样的: 要以编程方式添加或修改系统环境变量,请将它们添加