scala – 执行shell进程时设置当前工作目录
发布时间:2020-12-16 09:16:36 所属栏目:安全 来源:网络整理
导读:我想在我的源代码中调用sbt update来更新多个sbt项目.在 shell中这很简单: cd /path/to/project sbt update 但是如果我在我的代码中使用scala.sys.process,它将不记得cd因此sbt被调用在错误的目录中.这样的代码: import scala.sys.process._("cd /path/to/
我想在我的源代码中调用sbt update来更新多个sbt项目.在
shell中这很简单:
cd /path/to/project && sbt update 但是如果我在我的代码中使用scala.sys.process,它将不记得cd因此sbt被调用在错误的目录中.这样的代码: import scala.sys.process._ ("cd /path/to/project" #&& "sbt update").!! 在文档中没有找到通过控制台设置sbt的项目路径的任何可能性.如果这样的事情会很好: "sbt -projectPath /path/to/project update".!! 如果这样的事情是可能的话,这样会给我带来很多麻烦! (特别是它在UNIX和Windows上运行.) 解决方法
在Process对象上使用一个ProcessBuilder工厂方法:
sys.process.Process(Seq("sbt","update"),new java.io.File("/path/to/project")).!! 有关更多文档,请参阅scaladoc file for the sys.process package.不幸的是,它没有提到“当前工作目录”参数,但它们在对象Process的文档中. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |