Je suis face au-dessous de l'erreur:Java -> erreur CreateProcess = 2, Le système ne peut pas trouver le fichier spécifié
java.io.IOException: Cannot run program "C:\abc\man\b\manu.bat C:\Users\12x\test\testFiles\abc.properties" (in directory "C:\Users\12x\test\testFiles\abc.properties"): CreateProcess error=2, The system cannot find the file specified
at java.lang.ProcessBuilder.start(ProcessBuilder.java:1048).
S'il vous plaît trouver le code que je utilise:
public class TestProcess {
public TestProcess(Path workPath, Path exe, Path logbackConfig,
Path propertyfile) throws IOException {
String exeSuffix = "";
if (OS.indexOf("win") >= 0) {
exeSuffix = ".bat";
}
builder = new ProcessBuilder()
.directory(workPath.toFile())
.command(workPath.resolve(exe).toAbsolutePath().toString() + exeSuffix+ " " + propertyfile)
.redirectOutput(Redirect.INHERIT)
.redirectError(Redirect.INHERIT);
Mon but est pour exécuter un fichier bat (qui est présent dans le dossier C: \ abc \ man \ b) suivi de abc.properties (qui se trouve dans un autre dossier C: \ Users \ 12x \ test \ testFiles).
Dans le code ci-dessus, Workpath a la valeur
C:\abc\man\b
et propertyfile a
C:\Users\12x\test\testFiles
J'ai essayé, mais on m'a donné ci-dessous erreur: –
La commande de la méthode (Liste) dans le type ProcessBuilder n'est pas applicable pour les arguments \t (Chaîne, chemin) –
@sandeepgoyal Donc, utilisez 'propertyfile.toString()'. – EJP