在Java中运行时设置Windows PATH环境变量

编程入门 行业动态 更新时间:2024-10-26 08:33:56
本文介绍了在Java中运行时设置Windows PATH环境变量的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述 我有一个使用Runtime.exec()方法触发可执行文件的java程序。我使用的变体是将一组命令行参数作为一个参数,一些环境变量作为另一个参数。

我尝试设置的环境变量是路径,所以我传递PATH = C:\some\path。这不行。这个或其他任何方法有一些技巧吗?不幸的是我被困在Java 1.4上。

解决方案

使用 java.sun/j2se/1.4.2/docs/api/java/lang/System .html#getenv%28java.lang.String%29 获取环境并修复它,然后使用[ http ://java.sun/j2se/1.4.2/docs/api/java/lang/Runtime.html#exec%28java.lang.String,%20java.lang.String [],%20java.io.File %29] [1] 执行执行。

这个工作与批处理文件中有路径。

package p; import java.util。*; public class运行{ static String [] mapToStringArray(Map< String,String> map){ final String [] strings = new String [map.size()] ; int i = 0; for(Map.Entry< String,String> e:map.entrySet()){ strings [i] = e.getKey()+'='+ e.getValue(); i ++; } 返回字符串; } public static void main(String [] arguments)throws Exception { final Map< String,String> env = new HashMap< String,String>(System.getenv()); env.put(Path,env.get(Path)+; foo); final String [] strings = mapToStringArray(env); Runtime.getRuntime()。exec(cmd / C start foo.bat,strings); } }

I have a java program that fires off an executable using the Runtime.exec() method. I'm using the variant that takes in a set of command line params as one argument, and some environment variables as another argument.

The environment variable I'm tryign to set is path, so i'm passing in "PATH=C:\some\path". This does not work. Is there some trick to this or any alternatives. I am stuck to Java 1.4 unfortunately.

解决方案

use java.sun/j2se/1.4.2/docs/api/java/lang/System.html#getenv%28java.lang.String%29 to get the environment and fix it up then use a flavour of [java.sun/j2se/1.4.2/docs/api/java/lang/Runtime.html#exec%28java.lang.String,%20java.lang.String[],%20java.io.File%29][1] to do the exec.

this works with a batch file that has path in it.

package p; import java.util.*; public class Run { static String[] mapToStringArray(Map<String, String> map) { final String[] strings = new String[map.size()]; int i = 0; for (Map.Entry<String, String> e : map.entrySet()) { strings[i] = e.getKey() + '=' + e.getValue(); i++; } return strings; } public static void main(String[] arguments) throws Exception { final Map<String, String> env = new HashMap<String, String>(System.getenv()); env.put("Path", env.get("Path") + ";foo"); final String[] strings=mapToStringArray(env); Runtime.getRuntime().exec("cmd /C start foo.bat",strings); } }

更多推荐

在Java中运行时设置Windows PATH环境变量

本文发布于:2023-11-24 05:42:15,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1624137.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:环境变量   Java   Windows   PATH

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!