Если я создаю динамическое веб-приложение в Eclipse, а корневой контекст не соответствует имени WAR, я получаю сообщение об ошибке при запуске соответствующего сервера Tomcat 7 ...
SEVERE: Unable to process JNDI URL [jndi:/localhost/tests/example1/WEB-INF/classes] for annotations
java.io.FileNotFoundException: jndi:/localhost/tests/example1/WEB-INF/classes
at org.apache.naming.resources.DirContextURLConnection.list(DirContextURLConnection.java:452)
at org.apache.catalina.startup.ContextConfig.processAnnotationsJndi(ContextConfig.java:1843)
at org.apache.catalina.startup.ContextConfig.processAnnotationsUrl(ContextConfig.java:1770)
и т. Д.
Соответствующая часть (я думаю) файла server.xml:
<Context docBase="MyExample" path="/tests/example1" reloadable="true" source="org.eclipse.jst.jee.server:MyExample"/>
Приложение доступно через /tests/example1
, как и следовало ожидать, но аннотации сервлета неt и сама ошибка приводит к тому, что запуск сервера занимает больше времени, чем нужно.Если корень контекста совпадает с именем WAR, он работает нормально, но это будет проблемой для меня в будущем.
Есть идеи, как мне обойти это?
ОБНОВЛЕНИЕ: Я обнаружил, что это происходит только в том случае, если измененный контекстный корень содержит /
.Если я изменю контекстный корень на «tests-example1», он будет работать.