2013-08-08 2 views
0

Я пытаюсь запустить tomcat с использованием кода сервлета. контейнер сервлетов является причальным сервером. Мой код ниже.Запустите tomcat с сервлета на сервере причала

Процесс Процесс = Runtime.getRuntime() Exec ("CMD/C начать C: /tomcat/bin/startup.bat.");

Я получаю сообщение об ошибке, как

Переменная окружения CATALINA_HOME не определен правильно Эта переменная среда необходима для запуска этой программы

после этого я установить переменную окружения, как показано ниже.

String cmds [] = {"C: \ tomcat \ bin \ startup.bat"};

String [] envp = {"CATALINA_HOME = C: \ tomcat", "JAVA_HOME = C: \ ProgramFiles \ Java \ jdk1.6.0_32"};

Runtime runtime = Runtime.getRuntime();

Процесс process = runtime.exec (cmds, envp);

С помощью этого сервера пытается начать работу. но он не может найти баню conf \ logging.properties.

Как преодолеть эту проблему.

ответ

0

Попробуйте запустить Tomcat так -

... 
     String envCatalina = System.getenv("CATALINA_HOME") + "\\bin\\"; 
     File dir = new File(envCatalina); 

     Runtime runtime = Runtime.getRuntime(); 
     Process process = runtime.exec(new String[] { "cmd.exe", "/C", "start", envCatalina + 
       "catalina.bat", "start" }, null, dir); 


     process.waitFor(); 
     process.destroy(); 
... 
+0

System.getenv ("CATALINA_HOME") возвращает нуль. –

+0

Спасибо, Алексей. Он работает сейчас. Я установил путь CATALINA_HOME вручную. –

+0

Рад помочь, см. Также - [Начать Tomcat в окнах с помощью java-кода] (http://stackoverflow.com/questions/11389022/start-tomcat-in-windows-using-java-code) и [Как начать и остановите tomcat с помощью java-кода?] (http://stackoverflow.com/questions/5256002/how-to-start-and-stop-tomcat-using-java-code) –

Смежные вопросы