具体问题:
本来是想用runtime.exec()执行linux上的一个shell脚本,该脚本执行一个源码包的安装,但是脚本中./congfiure命令生成的Makefile文件全部被放在了该工程的根目录下,本来这些Makefile文件应该放在源码包内的(如过直接登录终端运行./configure,则生成的Makefile文件全部在源码包内)。
不知道有没有人遇到过相同的问题,如何解决的。希望不吝赐教!!!
本来是想用runtime.exec()执行linux上的一个shell脚本,该脚本执行一个源码包的安装,但是脚本中./congfiure命令生成的Makefile文件全部被放在了该工程的根目录下,本来这些Makefile文件应该放在源码包内的(如过直接登录终端运行./configure,则生成的Makefile文件全部在源码包内)。
不知道有没有人遇到过相同的问题,如何解决的。希望不吝赐教!!!
我们一般安装源码包的过程如下:
cd sourcefolder
./configure //这步生成Makefile文件
make //编译源码
make install //安装我只是将以上过程写成一个脚本install.sh,让脚本自动执行。直接登录终端运行该脚本,没有任何问题。
但是 通过 Runtime.exec("sh /sourcepath/install.sh"), configure生成的Makefile文件全部被放在了工程的根目录下面,
这样 make就过不去了,因为找不到Makefile。我想这和linux本生的环境变量应该关系不大,要有也是eclipse或者jdk等相关的设置。
注: 我使用的开发环境的是linux版本的eclipse。
使用这个命令exec(String command,String[] envp,File dir),其中dir设置为源码包所在路径即可。