このメソッドは正常なJavaプログラム(eclipseとcmd)で正常に実行されますが、Tomcat 8.5.9でこのメソッドを実行するとエラーが表示されます。クラスMain)。なぜそれが起こったのですか?手伝ってくれてありがとう。ProcessBuilder Javaは正常に起動しましたが、Tomcatの起動に失敗しました。
public synchronized static String run(SourceCode sourceCode) {
try {
ProcessBuilder java = new ProcessBuilder("java", "Main");
File file = new File("C:\\apache-tomcat-8.5.9\\webapps\\onlineJudge\\data\\Piers\\1\\1483703529849");
java = java.directory(file);
java = java.redirectErrorStream(true);
Process process = java.start();
List<String> list = java.command();
try (Scanner in = new Scanner(process.getInputStream())) {
System.out.println(in.nextLine());
}
} catch (IOException e) {
e.printStackTrace();
}
return null;
}
Dir: C:\apache-tomcat-8.5.9\webapps\onlineJudge\data\Piers\1\148370352984
File in Dir: Main.class, Main.java(code below)
public class Main{
public static void main(String args[]){
System.out.println("Hello World.");
}
}
PS:私はテストする方法
:
コピーし、別の通常のJavaプロジェクトとテストするには、この方法。それは(Hello World。)を示しています。有線
何か
私はこの質問を投稿した後、私はEclipseのでTomcatを実行します。以前は、cmd(起動コマンドを使用)でTomcatを実行しました。メソッドをロードするとき(public synchronized static String run(SourceCode sourceCode))、正常に実行されます。何が起こった?
ありがとうございます!
完全修飾名が 'Main'ですか? 'Main'はどのパッケージですか? – Stik
C:\ apache-tomcat-8.5.9 \ webapps \ onlineJudge \ data \ Piers \ 1 \ 1483703529849の内容を印刷できますか? –
私は質問を更新します、あなたはそれを見ていただけますか? – Piers