我想通過Ruby腳本編譯java源文件。不過我有點通過以下行爲不解爲什麼我不能在Ruby中使用Backquotes/Backticks方法調用javac?
compile_results = `javac #{source_file}`
這無法用「沒有這樣的文件...」錯誤運行。我彈出irb
irb(main):001:0> `javac -help`
Errno::ENOENT: No such file or directory - javac -help
from (irb):1:in ``'
from (irb):1
irb(main):002:0> `csc`
=> "Microsoft (R) Visual C# 2005 Compiler version 8.00.50727.3053\nfor Microsoft
(R) Windows (R) 2005 Framework version 2.0.50727\nCopyright (C) Microsoft Corpo
ration 2001-2005. All rights reserved.\n\nfatal error CS2008: No inputs specifie
d\n"
但是,javac和csc都在PATH上。例如如果我從運行ruby腳本的shell手動運行javac,我可以到達java編譯器。 源文件存在。
我試過紅寶石1.8.7和1.9.1(Windows)。有人看到我失蹤的東西嗎?
更新: 我不認爲它與命令行參數有關。相反,它出於某種奇怪的原因無法獲得javac。我把行javac %1
放在一個批處理文件中,並以通常的方式調用批處理文件。這工作...但仍然不確定整個問題與javac。
號「-help」不包含空格。不,如果javac在路徑上,那麼它是可訪問的。 – 2009-11-24 13:16:57