Предоставлятьинформация для Tomcat на затмении - PullRequest
0 голосов
/ 13 июня 2018

Наше веб-приложение имеет appName.xml файл в нашей структуре каталогов Tomcat по адресу <tomcatInstall>/conf/Catalina/localhost/.Весь текст:

<?xml version="1.0" encoding="UTF-8"?>
<Context crossContext="true">
  <Realm className="com.blah.ApDataSourceRealm" 
         dataSourceName="jdbc/blahDev" 
         roleNameCol="blahRole" 
         userCredCol="blahToken" 
         userNameCol="blahCol" 
         userRoleTable="blahTable" 
         userTable="blahTable"
  />
</Context>

Я убедился, что удалил установку tomcat 8 в eclipse, а затем снова добавил ее;Я понимаю, что это то, что копирует все установки tomcat в рабочие места.Когда я пытаюсь запустить сервер в eclipse, отображается страница входа, но имя пользователя / пароль всегда отклоняются.

Я исправил это один раз, найдя копию eclipse server.xml в папке eclipse-workspaceдерево (...eclipse-workspace/.metadata/.plugins/org.eclipse.wst.server.core/temp1/conf).Но в следующий раз, когда я перезагрузил компьютер и снова запустил его, вход в систему не удался, и при проверке server.xml я обнаружил, что он был перезаписан сегодня утром.Я предполагаю, что затмение перезаписывает его при некоторых условиях, возможно, при запуске затмения?Я снова поместил тег <Realm ... /> в server.xml в <Context ... />, и он снова работает.

Куда должна идти эта информация?Я хотел бы поместить это куда-нибудь, чтобы оно не исчезло из затмения.Я не думаю, что нам нужен этот тег области в собственном server.xml (в отличие от локального для затмения), потому что он специфичен для среды разработки.Итак, где его можно поместить на мою машину, чтобы он использовал Tomcat от eclipse, но при этом не влиял на общий источник приложения?

1 Ответ

0 голосов
/ 13 июня 2018

Один из способов - поместить вашу <Context> конфигурацию в webapp/META-INF/context.xml.

Ссылка :

Отдельные элементы контекста могут быть явноопределено:

  • В отдельном файле в /META-INF/context.xml внутри файлов приложения.Необязательно (на основе атрибута copyXML хоста) его можно скопировать в $ CATALINA_BASE / conf / [enginename] / [hostname] / и переименовать в базовое имя файла приложения плюс расширение «.xml».

  • В отдельных файлах (с расширением «.xml») в каталоге $ CATALINA_BASE / conf / [enginename] / [hostname] /.Путь и версия контекста будут получены из базового имени файла (имя файла без расширения .xml).Этот файл всегда будет иметь приоритет над любым файлом context.xml, упакованным в каталог META-INF веб-приложения.

  • Внутри элемента Host в основном файле conf / server.xml.

Могут быть определены элементы контекста по умолчанию, которые применяются ко многим веб-приложениям.Конфигурация для отдельного веб-приложения переопределяет все, что настроено в одном из этих значений по умолчанию


Куда должна идти эта информация?Я хотел бы поместить его куда-нибудь, чтобы оно не исчезло из eclipse

Так, где его можно поместить на мою машину, чтобы использовать его в Tomcat eclipse, но при этом не мешать общему источнику приложения?

При создании Tomcat в Eclipse также будет создан проект сервера.Этот проект сохраняет конфигурацию для созданного экземпляра tomcat, который будет скопирован в папку conf экземпляра Tomcat (т.е. eclipse-workspace/.metadata/.plugins/org.eclipse.wst.server.core/temp1/conf при запуске tomcat.

enter image description here

Итак, если вы не хотите добавлять конфигурацию Realm в исходные коды вашего проекта, например /webapp/META-INF/context.xml, вы можете добавить ее к context.xml в проекте сервера.

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