Как я могу предотвратить IntelliJ от изменения CATALINA_BASE - PullRequest
0 голосов
/ 15 февраля 2019

Я запускаю веб-приложение на Tomcat из Eclipse, но я нахожусь в процессе перехода на использование IntelliJ вместо Eclipse.По какой-то причине при использовании IntelliJ мой CATALINA_BASE показывает другой путь по сравнению с моим CATALINA_HOME (согласно журналам):

14-Feb-2019 16:14:31.171 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log CATALINA_BASE:         C:\Users\schmoejoe\.IntelliJIdea2018.3\system\tomcat\Unnamed_myapp
14-Feb-2019 16:14:31.171 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log CATALINA_HOME:         C:\myapp\apache-tomcat-9.0.8

В моей конфигурации запуска / отладки я указываюпуть к моему локальному коту (то есть CATALINA_HOME) на диске C :.Но, как вы видите выше, журналы показывают мой CATALINA_BASE по другому пути, C: \ Users \ ... \. IntelliJIdea2018.3 \ system \ tomcat \ Безымянный_its .

Почему IntelliJ изменил мой CATALINA_BASE на отличный от CATALINA_HOME?И есть ли какой-нибудь способ, которым я могу предотвратить это?

Одна из причин, по которой я спрашиваю, состоит в том, что мои журналы теперь идут по тому другому пути вместо того, где я ожидал, что они пойдут (мой фактический каталог tomcat).Может быть, именно так работает интеграция Tomcat с IntelliJ?Но один недостаток заключается в том, что теперь я не могу запускать мои приложения из моего Tomcat bin \ startup.bat.

1 Ответ

0 голосов
/ 15 февраля 2019

Да, вы можете указать CATALINA_BASE, чтобы быть в CATALINA_HOME.

Но обычной практикой является использование внешней базовой папки.Это сохраняет исходную папку Tomcat в первоначальном состоянии.Также облегчает ведение домашнего хозяйства благодаря нескольким проектам, которые могут использовать Tomcat.Каждый проект со своей собственной базовой папкой хранит свои собственные вещи аккуратно разделенными.

В любом случае вы задаете базовую папку при настройке IntelliJ, чтобы узнать о Tomcat.Посмотрите в Preferences> Build, Execution, Deployment> Application Servers.Нажмите значок +, чтобы настроить новую конфигурацию Tomcat с IntelliJ, после чего появится диалоговое окно, показанное ниже.Щелкните значок папки в поле Tomcat base directory, чтобы выбрать предварительно настроенную базовую папку.

imagePreferences > Build, Execution, Deployment > Application Servers > Tomcat home directory.">

Обратите внимание, что в моем примере показан снимок экрана с моей собственной практикой.Я держу Tomcat в верхней части моей домашней папки Unix / macOS.Я создаю папку для базовых папок моих различных проектов с именем apache-tomcat-base, поэтому она упирается в папку (и) Tomcat в алфавитном порядке.Затем я вкладываю вложенную в проект папку, используя именование в стиле Unix, чтобы избежать проблем (без символов SPACE, простых, коротких) - таких как example_app, видимых здесьЯ мог бы также вложить вложенные папки с именами версий, если я работаю с различными версиями Tomcat, например 9.0.14 (не обычно).

CRUCIAL: IntelliJ, к сожалению, отказывается настраивать эту внешнюю базовую папку.Я был избалован тем, что NetBeans делает это для меня автоматически.Но в IntelliJ, несмотря на то, что я заплатил деньги за Ultimate edition , чтобы получить поддержку сервера приложений, я должен настроить базовую папку вручную.См. мой вопрос по этой проблеме.

  1. Перейдите в папку Tomcat, скопируйте папку conf.
  2. Вставьте в созданную нами вложенную базовую папку.

enter image description here

Наконец, настройте Run/Debug Configuration для своего веб-приложения.Откройте диалоговое окно, показанное далее, используя всплывающее меню рядом со значками «Выполнить и отладить» в верхнем правом углу IntelliJ.Обратите внимание на поле Application server, где мы выбираем конфигурацию IntelliJ-Tomcat, которую мы установили, как показано выше.

image Tomcat Server > Run external Tomcat” dialog box">

Бонусный совет: избегайте использования After launch флажок.Неприятная ошибка приводит к двойному запуску моего веб-приложения в Tomcat.Просто переключитесь на веб-браузер вручную, сохраните закладку для своего localhost:8080 URL.

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