#java #jsp #websphere-liberty
#java #jsp #websphere-liberty
Вопрос:
Этот JSP
<html><head><title><%=application.getServerInfo() %></title></head><body>
<%= javax.servlet.http.HttpServlet.class.getResource("/test.properties") %>
</body></html>
выводит на Apache Tomcat /9.0.37
file:/projekte/apache-tomcat-9.0.37/lib/test.properties
В IBM WebSphere Liberty / 20.0.0.9 я получил null.
Как я могу загрузить ресурс?
Я пытался с
test.properties in usr/servers/luna/lib/global
и
<library id="tr">
<folder dir="${server.config.dir}/lib/tr" />
</library>
<webApplication location="tr.war" type="war">
<classloader classProviderRef="tr" />
</webApplication>
Я бы не стал использовать ServletContext.getResource(), потому что моя реальная проблема находится в классе ear / lib.
Ответ №1:
Это не classProviderRef, а commonLibraryRef .
<classloader commonLibraryRef="tr" />
Тем не менее, ресурс найден, только если getResource() вызывается для класса из внутри приложения, например, из скомпилированного JSP com.ibm._jsp._resource
.
<%= getClass().getResource("/test.properties") %>
выводит
file:/wlp/wlp-javaee8-20/usr/servers/luna/lib/tr/test.properties