JUnit を使用して、外部サーバー (tomcat) の実行を必要とする多くのテストを実行しています。現在、次のコードを使用して tomcat を起動しています。
Thread thread = new Thread(new Runnable() {
@Override
public void run() {
try {
Runtime.getRuntime().exec("{path to tomcat}/bin/startup.bat");
} catch (IOException exception) {
}
}
});
thread.setDaemon(true);
この問題は、すべてのテストが完了すると発生し、Tomcat が閉じられるのを待って JVM がハングします。Tomcat を手動で閉じると、JVM は期待どおりに閉じます。
すべてのテストが完了すると (他のすべてのスレッドが終了すると)、JVM がブロックされずにシャットダウンされるように tomcat を実行する方法はありますか?