无法调用可执行文件并插入其输出流

时间:2014-02-25 16:33:08

标签: racket

我想从球拍代码中调用mvn命令,然后继续调整到该过程,并在它工作时取回maven的输出,逐行将它呈现给用户。

我尝试使用批处理文件实现它,导航到我的maven项目并调用mvn命令(目前简单的mvn clean将满足..)

cd\
cd projects\java\projA
mvn clean

我尝试使用系统和进程调用此批处理文件,但两者都返回相同的结果:mvn无法识别。 (当然它是,因为我可以自己调用这个批处理文件,它完美地工作)。

(define invocation-method (lambda () (system "c:\\test.bat")))
;; capture output
(string-split (with-output-to-string invocation-method) "\n")

和输出:

'mvn' is not recognized as an internal or external command,
operable program or batch file.
'("\r" 
  "C:\\Users\\aviad>cd\\\r" 
  "\r" 
  "C:\\>cd projects\\java\\projA\r"
  "\r" 
  "C:\\projects\\java\\projA>mvn clean \r")

似乎当我从racket上下文调用它时,它不熟悉路径变量或其他东西(甚至可能是其他环境变量?)。

任何想法?

0 个答案:

没有答案