首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Fan命令来自Fan进程失败

Fan命令来自Fan进程失败
EN

Stack Overflow用户
提问于 2016-12-12 18:09:31
回答 1查看 151关注 0票数 2

我正在尝试从扇模式进程调用扇命令。这是它从扇汤姆运行的错误,它从命令行正确运行。你觉得问题会是什么?

代码语言:javascript
复制
class Main {
   Void main() {
       buf := Buf()

       Process() {
          command = ["fan <pod>::<type>.<method>"]
          out = buf.out 
       }.run.join

       outStr := buf.flip.readAllStr
    }   
}  

这是我正在犯的错误:

代码语言:javascript
复制
sys::IOErr: java.io.IOException: Cannot run program "fan <pod>::<type>.<method>": 
CreateProcess error=2, The system cannot find the file specified
  java.lang.ProcessBuilder.start (Unknown)
  fan.sys.Process.run (Process.java:141)
  PDFCommandLine::Main.main (Main.fan:10)
  java.lang.reflect.Method.invoke (Unknown)
  fan.sys.Method.invoke (Method.java:559)
  fan.sys.Method$MethodFunc.callOn (Method.java:230)
  fan.sys.Method.callOn (Method.java:139)
  fanx.tools.Fan.callMain (Fan.java:185)
  fanx.tools.Fan.executeType (Fan.java:147)
  fanx.tools.Fan.execute (Fan.java:41)
  fanx.tools.Fan.run (Fan.java:308)
  fanx.tools.Fan.main (Fan.java:346)
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-12-12 19:32:14

我认为问题在于,没有名为fan的Windows文件,只有fan.bat

只有Windows命令提示符才能插入fan并查找可执行扩展、.com.bat.cmd.exe等.

注意,使用BedSheet代理的经验告诉我,新的fan.bat在单独的进程中启动fan.bat,批处理文件立即结束;因此,即使扇fan.bat程序成功运行,您也不会收到来自Process类的任何输出。

相反,您需要编写一个命令来自己启动Java进程。类似于:

代码语言:javascript
复制
C:\> java -cp %FAN_HOME%\lib\java\sys.jar fanx.tools.Fan <pod>::<type>.<method>

这里有一个小片段,它就是以一种跨平台的方式来实现的:

代码语言:javascript
复制
static Process fanProcess(Str[] cmd) {
    homeDir   := Env.cur.homeDir.normalize
    classpath := (homeDir + `lib/java/sys.jar`).osPath
    args      := ["java", "-cp", classpath, "-Dfan.home=${homeDir.osPath}", "fanx.tools.Fan"].addAll(cmd)
    return Process(args)
}

你可以这样用:

代码语言:javascript
复制
buf := Buf()
fanProcess(["<pod>::<type>.<method>", "arg1", "arg2"]) {
    out = buf.out 
}.run.join
outStr := buf.flip.readAllStr

注意,上面要求java在您的PATH上。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41106896

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档