在我的Java应用程序中,我想用Process类执行python脚本。这个python脚本需要执行svn命令。似乎我的java应用程序中的PATH变量不包含/usr/local/bin
。我用自制软件安装了SVN 1.7.9,它位于/ usr / local / bin中。在/usr/bin
文件夹中,xcode安装了另一个svn,其版本为1.6.x.这导致了一个严重的问题:当我在Java应用程序中执行python脚本时,该脚本然后在/ usr / bin中执行svn,版本为1.6.x.此版本太旧,无法管理我的工作副本。
有什么方法可以解决这个问题吗?
答案 0 :(得分:3)
在启动(父)Java应用程序之前设置PATH
环境变量,或使用ProcessBuilder
。后者允许您通过ProcessBuilder.environment()
方法返回的Map
对象控制子进程环境将包含的内容。
(但请注意,一旦启动,您通常无法更改子进程环境的内容...)