Tomcat не может разрешить «<% @ include file», возможно, связанный с taglibs JasperException: файл не найден - PullRequest
0 голосов
/ 19 ноября 2009

В JSP у меня есть:

<%@ include file="/assets/includes/inc_standard_init.jsp" %>

В браузере я получаю:

org.apache.jasper.JasperException: /oprs.jsp(1,1) File "/assets/includes/inc_standard_init.jsp" not found
org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:40)
org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:407) ...

Я пробовал несколько версий пути, включая ../assets, ../../assets и т. д. Странная вещь в том, что у меня нет этой проблемы в моей основной среде разработки, только когда я пытался перейти на другой компьютер.Я сравнил файлы httpd.conf и server.xml и не смог найти никаких расхождений между средами.В конечном счете, я думаю, что это проблема конфигурации в конфигурации Apache 2.2.14 или Tomcat 5.5.27.

Кроме того, когда я перехожу к http://localhost/assets/includes/inc_standard.jsp, я получаю эту ошибку:

org.apache.jasper.JasperException: File "/WEB-INF/tld/siteuser.tld" not found
org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:51)
org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:409)
org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:116) ...     

Очевидно, я не смогу получить доступ к содержимому / WEB-INF напрямую.Я не вижу, как это работает в одной среде, но не в другой.Любые идеи?

/ WEB-INF / lib:

acosog_utils.jar
activation.jar
ant-antlr-1.6.5.jar
antlr-2.7.6.jar
app.jar
asm-attrs.jar
asm.jar
autoform-ext.jar
autoform.jar
axis-ant.jar
axis-schema.jar
axis.jar
catalina-ant.jar
catalina-deployer.jar
cglib-2.1.3.jar
classes12.jar
commons-codec-1.3.jar
commons-collections-2.1.1.jar
commons-collections-3.0.jar
commons-collections.jar
commons-dbcp.jar
commons-dbutils-1.0.jar
commons-discovery-0.2.jar
commons-el.jar
commons-httpclient-3.1.jar
commons-logging-1.0.4.jar
commons-logging-1.1.1.jar
commons-logging.jar
commons-pool.jar
dom4j-1.6.1.jar
domain.jar
ehcache-1.1.jar
ehcache-1.2.3.jar
examples.jar
hibernate-annotations.jar
hibernate-commons-annotations.jar
hibernate-entitymanager.jar
hibernate3.jar
ibatis-2.3.0.677.jar
jakarta-regexp-1.2.jar
jasper-compiler.jar
jasper-runtime.jar
jaxrpc.jar
jms.jar
jsp-api.jar
jstl.jar
jta.jar
junit.jar
kjdk.jar
log4j-1.2.11.jar
log4j.properties
mail.jar
mysql-connector-java-3.1.10-bin.jar
naming-common.jar
naming-factory.jar
naming-resources.jar
ojdbc14_g.jar
oracle_8.1.7.1_classes12.jar
portlet-api.jar
quartz-all-1.6.5.jar
RandoNode.jar
resolver.jar
saaj.jar
serializer.jar
servlet-api.jar
servlet.jar
siteuser.jar
spring-orm.jar
spring-web.jar
spring-webmvc-portlet.jar
spring-webmvc.jar
spring.jar
standard.jar
tools.jar
velocity-1.4.jar
velocity-dep-1.4.jar
wsdl4j-1.5.1.jar
xerces.jar
xercesImpl.jar
xml-apis.jar
xml.jar
xmlparserv2.jar

apache-tomcat-5.5.27 / common / lib:

commons-el.jar
jasper-compiler-jdt.jar
jasper-compiler.jar
jasper-runtime.jar
jsp-api.jar
naming-factory-dbcp.jar
naming-factory.jar
naming-resources.jar
servlet-api.jar
standard.jar

apache-tomcat-5.5.27 / server / lib:

catalina-ant-jmx.jar
catalina-ant.jar
catalina-cluster.jar
catalina-optional.jar
catalina-storeconfig.jar
catalina.jar
commons-modeler-2.0.1.jar
servlets-cgi.renametojar
servlets-default.jar
servlets-invoker.jar
servlets-ssi.renametojar
servlets-webdav.jar
standard.jar
tomcat-ajp.jar
tomcat-apr.jar
tomcat-coyote.jar
tomcat-http.jar
tomcat-jkstatus-ant.jar
tomcat-util.jar

1 Ответ

1 голос
/ 19 ноября 2009

Первым шагом является удаление всех специфичных для сервера приложений JAR-файлов из WEB-INF/lib. Это включает в себя servlet-api.jar и servlet.jar. Они будут только совмещаться с JAR, уже имеющимся в пути к классам appserver, и сделают ваше веб-приложение совершенно непереносимым.

Вы никогда не должны перемещать / дублировать какие-либо специфичные для appserver файлы JAR за пределами их расположения по умолчанию. Вы можете добавить еще один JAR-файл, специфичный для веб-приложения, чтобы они были доступны всем веб-приложениям или JAR-файлам, которые требуются для управления ресурсами приложения (например, драйверы JDBC для источников данных), но не более того. *

Также убедитесь, что JRE/lib сохраняется по умолчанию таким же образом. Вы никоим образом не должны добавлять к нему какие-либо сторонние JAR-файлы.

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