有一个编译/执行多个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