Как запустить Tomcat с определенным server.xml под Windows? - PullRequest
7 голосов
/ 20 июля 2009

Я хочу запустить Tomcat 6 со специальной конфигурацией, не используя "server.xml". Поэтому я создал еще один XML-файл с именем server_test.xml. Теперь я хочу сказать tomcat, чтобы использовать эту конфигурацию. Как это сделать?

Я почти ничего не нашел в Интернете. Только это: "Использовать другой файл server.xml в конфигурации Tomcat:

Это именно то, что я хочу. Может быть, это работает для систем Linux, но не для Windows. Есть идеи?

Ответы [ 3 ]

14 голосов
/ 21 июля 2009

Я понял. Я взял у меня пол ночи, но это работает:)

Сначала я тоже думал о символических ссылках, но под Windows это не то, что вы хотели бы использовать. Моей второй мыслью было изменение catalina.bat, но это не так просто. И разные CATALINA_HOME это не то, что я действительно хочу.

Так, что я сделал? Я предоставил server.xml в качестве параметра для catalina.bat.

catalina.bat start -config \conf\server_test.xml

Красиво и просто:)

Вы можете иметь много файлов конфигурации сервера и предоставить тот, который вам нужен для запуска и остановки скрипта. Хитрость заключалась в том, что класс Catalina дает неверную информацию об использовании:

usage: java org.apache.catalina.startup.Catalina [ -config {pathname} ] [ -nonaming ] { start | stop }

Но если вы поменяете параметры и сначала предоставите " start " или " stop ", а затем аргумент " -config ... ", все работает.

Также очень приятно, что вы можете использовать это решение для создания другой конфигурации запуска в IntelliJ IDEA. У меня есть один, где Tomcat подключается к локальной базе данных и один подключается к базе данных разработки. Для каждого у меня есть разные server.xml.

Надеюсь, это поможет.

С уважением, Себастьян

0 голосов
/ 20 июля 2009

tomcat.sh не существует с 3.x, и, если честно, я не помню, чтобы тогда была опция '-f'.

У вас есть два варианта:

A) Вы можете настроить несколько экземпляров tomcat, как описано здесь , и переключаться между ними, указывая CATALINA_BASE на тот, который вам нужен.

B) Вы можете создать несколько server.xml файлов с разными именами (например, server-1.xml, server-2.xml и т. Д.) И написать простой пакетный скрипт, который будет копировать тот, который вы указали в качестве аргумента командной строки, в фактический server.xml и затем запустите Tomcat.

0 голосов
/ 20 июля 2009

Не похоже, что есть (задокументированная) опция, которую вы можете передать в startup.sh или catalina.sh, чтобы изменить это.

Возможно, вы можете установить server.xml в качестве символической ссылки на файл, который вы на самом деле хотите использовать, и просто изменить символическую ссылку перед запуском сервера, когда вы хотите его изменить?

В противном случае вы можете поиграть с другими значениями $CATALINA_HOME, но для этого потребуется дублировать всю структуру каталогов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...