“未正确定义CATALINA_HOME环境变量 运行此程序需要此环境变量“
代码段:
public static void main(String args[]){
Runtime runtime = Runtime.getRuntime();
try {
Process p1 = runtime.exec("cmd /c start D:\\Apache_Tomcat64\\bin\\startup.bat");
InputStream is = p1.getInputStream();
int i = 0;
while( (i = is.read() ) != -1) {
System.out.print((char)i);
}
} catch(IOException ioException) {
System.out.println(ioException.getMessage() );
}
我认为该问题是以管理员身份运行 但我不知道如何处理它 请任何建议或解决方案 谢谢你提前
答案 0 :(得分:1)
我认为问题出在工作目录位置。
运行startup.bat时,它会尝试在您启动Java类的目录中找到catalina.bat文件,但不会在Tomcat所在的目录中找到。
您可以尝试使用下一种方式修改代码
public static void main(String args[]){
Runtime runtime = Runtime.getRuntime();
try {
File workingDirectory = new File("D:\\Apache_Tomcat64\\bin");
Process p1 = runtime.exec("cmd /c start D:\\Apache_Tomcat64\\bin\\startup.bat", new String[0], workingDirectory);
InputStream is = p1.getInputStream();
int i = 0;
while( (i = is.read() ) != -1) {
System.out.print((char)i);
}
} catch(IOException ioException) {
System.out.println(ioException.getMessage() );
}
}