1
以下是使用掃描儀讀取用戶輸入的一段代碼。爲什麼在使用ant運行java時無法獲得用戶輸入?
Scanner inner = new Scanner(System.in);
Logger logger = Logger.getLogger("Test");
logger.info("Before");
int a = inner.nextInt();
logger.info("After");
......
當我使用Ant運行Java任務和EXCUTE我的代碼(用「叉=真」),該方案獲得卡住打印後「之前」。我可以輸入任何內容,但「After」之後永遠不會打印。
但是,使用命令行渣華時:
java -cp build/BoxBugRunner.jar:lib/gridworld.jar com.perqin.boxbugrunner.BoxBugRunner
的輸入被接受,一切工作正常。
看來,使用ant運行java程序時系統輸入無法訪問,那麼如何解決這個問題呢?
爲什麼要在Ant構建中使用System.in? Ant構建通常是非交互式的。 –
@JFMeier然而,我是一個螞蟻的新手......那麼在使用螞蟻時,我怎樣才能與我的程序交互(即輸入終端並獲得輸出)呢? – Perqin
Ant通常用作構建工具,即構建您的jar,文檔等。您通常不會使用ant運行程序。爲什麼你想與一個由ant腳本調用的程序進行交互? –