在我的項目中,Tomcat正在部署一個WAR文件。該WAR文件試圖在另一個項目運行Maven:tomcat無法用processbuilder啓動外部進程
List<String> args = new ArrayList<String>();
args.add("mvn");
for (String goal : goals) {
args.add(goal);
//Here, goals is { "clean", "compile", "test", "dependency:copy-dependencies" }
}
ProcessBuilder processBuilder = new ProcessBuilder(args).directory(workingDir);
processBuilder.redirectErrorStream();
Process process = processBuilder.start();
然而,Tomcat的不能運行Maven,並給這個錯誤:
java.io.IOException: Cannot run program "mvn" (in directory "C:/..."): CreateProcess error=2, The system cannot find the file specified
我是新來的Tomcat和Maven,但我m很確定我有JAVA_HOME,CATALINA_HOME,MAVEN_HOME都正確設置到了它們的bin文件夾中,並且也添加到了PATH中。我沒有使用任何IDE,只是使用cmd和瀏覽器。
Tomcat中是否存在某種不允許其運行外部進程的配置?這可以改變嗎?
感謝您的幫助!
你可以在命令行上運行mvn嗎? 'mvn -version'的輸出是什麼? – Tunaki
自從您將Maven添加到PATH後,您是否重新啓動了IDE? – Atuos
maven工作正常。是的,我已重新啓動。只是Tomcat沒有啓動這個過程。 – amrita