java -cp somejar.jar com.company.mainClass
というコードがあります。私はプロセスビルダーを使用して呼び出しています。窓では、それは正常に動作します。 Linuxではエラーが発生する実行中のJavaプロセスから別のJavaプロセスを起動すると、OSに依存する動作が示されます。
メインクラスcom.company.mainClassを見つけることができませんでした。ここで
私のコードのサンプルです:
ArrayList<String> args = new ArrayList<String>();
args.add(java);
args.add("-cp");
args.add("../dep/jetty-distribution-8.1.1.v20120215/lib/*;../build/jar/somejar.jar");
//args.add("../build/jar/LRM.jar");
args.add("com.company.mainClass");
ProcessBuilder processBuilder = new ProcessBuilder(args);
Process process = processBuilder.start();
私はLinuxの対窓で異なる動作を取得される可能性がありますなぜいずれか知っていますか?
コード内の相対パスに依存することは決してお勧めできません。それらのパスを完全に修飾し、テストを再試行する必要があります。 – Perception