Ich habe diesen Code, der java -cp somejar.jar com.company.mainClass
aufruft. Ich rufe es mit Process Builder an. In Windows funktioniert es gut. In Linux bekomme ich den FehlerStarten eines anderen Java-Prozesses von einem laufenden Java-Prozess zeigt Betriebssystemabhängiges Verhalten
Konnte Hauptklasse com.company.mainClass nicht finden oder laden. Hier
ist eine Probe von meinem Code:
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();
Jeder weiß, warum ich ein anderes Verhalten in Windows im Vergleich zu Linux bekommen könnte?
Es ist nie eine gute Idee, auf relative Pfade in Ihrem Code abhängen. Sie sollten diese Pfade vollständig qualifizieren und den Test erneut durchführen. – Perception