有一個編譯/執行多個Java應用程序並捕獲每個應用程序輸出的shell腳本。到一個文件。
腳本工作正常,直到遇到一系列需要通過Java中的Scanner類輸入的應用程序。bash腳本運行使用掃描器的Java應用程序
我想過的一件事是grep關鍵字「掃描儀」的.java文件並跳過這些文件。
有關如何使用plain ole shell腳本解決此問題的其他建議?源不能修改。
(沒有螞蟻,行家或其他構建經理請)
有一個編譯/執行多個Java應用程序並捕獲每個應用程序輸出的shell腳本。到一個文件。
腳本工作正常,直到遇到一系列需要通過Java中的Scanner類輸入的應用程序。bash腳本運行使用掃描器的Java應用程序
我想過的一件事是grep關鍵字「掃描儀」的.java文件並跳過這些文件。
有關如何使用plain ole shell腳本解決此問題的其他建議?源不能修改。
(沒有螞蟻,行家或其他構建經理請)
您可以覆蓋與不建立一個自定義的實現掃描儀。例如:
目錄結構:
/Tester.java
/java/util/Scanner.java
然後,裏面Tester.java
您有:
import java.util.Scanner:
class Tester {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println(scanner.nextLine());
}
}
而且裏面Scanner.java
您有:
I'm Broken!
當然,「我破!」不會編譯,所以你的程序會中斷。所以,當你編譯你會最終出現這個錯誤:
./java/util/Scanner.java:1: error: unclosed character literal
I'm Broken!
^
Tester.java:1: error: cannot access Scanner
import java.util.Scanner;
^
bad source file: ./java/util/Scanner.java
file does not contain class java.util.Scanner
Please remove or make sure it appears in the correct subdirectory of the sourcepath.
的解決方案。謝謝。 – user1798810
你應該通過stdin發送相關的輸入。 – SLaks
你會如何知道輸入類型? (int,String,boolean,byte)...每個應用程序的設計都是不同的。 – user1798810
如果你不知道你的應用需要什麼輸入,你就沒有希望使它工作。 – SLaks