Tomcat 8 - виртуальный хост не перекомпилирует JSP или не распознает обновленные классы

1

Я только что распаковал и настроил Tomcat 8.0.3 на Windows 7 с виртуальным хостом. Я успешно протестировал его при использовании веб-приложений по умолчанию, однако мой виртуальный хост не распознает изменения в файлах или классах JSP.

Вот моя настройка:

% CATALINA_HOME%\конф\server.xml

...
    <Engine name="Catalina" defaultHost="localhost">
    ...
      <Host name="ww.virtual.com"  appBase="vapps" unpackWARs="true" autoDeploy="true">
      </Host>
    </Engine>
... 

% SystemRoot%\system32\Drivers\Etc\хостов

...
127.0.0.1 ww.virtual.com

% CATALINA_HOME%\vapps\ROOT\META-INF\context.xml

<?xml version="1.0" encoding="UTF-8"?>
<Context antiResourceLocking="true" privileged="true" reloadable="true">

<Resource name="jdbc/INVENTORY" auth="Container" type="javax.sql.DataSource"
               maxActive="100" maxIdle="30" maxWait="10000"
               username="sqlusr" password="secret1" driverClassName="com.microsoft.sqlserver.jdbc.SQLServerDriver"
               url="jdbc:sqlserver://127.0.0.1:1433;instanceName=SQLSERVER;DatabaseName=INVENTORY"/>
</Context>

% CATALINA_HOME%\vapps\ROOT\WEB-INF\web.xml

<?xml version="1.0" encoding="ISO-8859-1"?>

<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
                      http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
  version="3.1"
  metadata-complete="true">

  <display-name>Test Display</display-name>
  <description>Test Description</description>
  <resource-ref>
      <description>Test DB Connection</description>
      <res-ref-name>jdbc/INVENTORY</res-ref-name>
      <res-type>javax.sql.DataSource</res-type>
      <res-auth>Container</res-auth>
  </resource-ref>
</web-app>

Затем у меня есть JSP файлы, расположенные в% CATALINA_HOME%\vapps\ROOT\и классы в% CATALINA_HOME%\vapps\ROOT\WEB-INF\classes\MainPackage \, которые должным образом загружаются при запуске сервера. Но если я вношу какие-либо изменения в JSP или.class файлы, сервер не распознает обновление. Что я делаю не так?

Теги:
jsp
tomcat
virtualhost
recompile

1 ответ

1
Лучший ответ

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

В качестве альтернативы удалите опции блокировки защиты от ресурсов и исправьте любую ошибку, вызвавшую их необходимость в первую очередь.

  • 0
    Спасибо, что исправили проблему. Измененный JSP теперь автоматически перекомпилируется, и измененный файл класса теперь также распознается (хотя сначала я испытывал некоторую задержку)

Ещё вопросы

Сообщество Overcoder
Наверх
Меню