0
나는 아파치 평민 간부를 사용하여 Java 응용 프로그램 내에서 스크립트를 실행하려고 다음과 같은 오류 받고 있어요 : 다음 코드를 들어커먼즈 간부
Error: Could not find or load main class "-DappEnv=te
org.apache.commons.exec.ExecuteException: Process exited with an error: 1 (Exit value: 1)
at org.apache.commons.exec.DefaultExecutor.executeInternal(DefaultExecutor.java:402)
at org.apache.commons.exec.DefaultExecutor.execute(DefaultExecutor.java:164)
at TestRunner.runTest(TestRunner.java:37)
at TestMain.main(TestMain.java:6)
을 :
이 환경 변수에 대한 인용 값을 분할하고 그 이름으로 클래스를 찾는 대신에 환경 변수를 사용하여 명령을 실행 할 것으로 보이므로String jOpts = "JAVA_OPTS=\"-DappEnv=te -DsetInstance=true -Dinstance=.01\"";
String command = "/path/to/bin/script.sh -s argVal";
try {
Map<String, String> procEnv = EnvironmentUtils.getProcEnvironment();
EnvironmentUtils.addVariableToEnvironment(procEnv, jOpts);
CommandLine cmdLine = CommandLine.parse(command);
DefaultExecutor executor = new DefaultExecutor();
executor.setWorkingDirectory(new File("/path/to"));
executor.execute(cmdLine, procEnv);
} catch (Exception e) {
e.printStackTrace();
}
은 오류가 루프 날 던지고있다. 그것은 가치가 무엇인지를 들어, 다음은 배쉬에서 잘 실행 :
는JAVA_OPTS="-DappEnv=te -DsetInstance=true -Dinstance=.01" /path/to/bin/script.sh -s argVal
사람은 인용 값이 공백에 분할되고있는 이유에 대한 통찰력을 제공 할 수 및/또는 왜의 값에 기본 클래스를 찾고 있어요 JAVA_OPTS
? 환경 맵을 제대로 사용하고 있습니까?