Я включил веб-приложение Jetty, оно построено аналогично этому примеру: https://github.com/jetty-project/embedded-jetty-live-war
Я пытаюсь получить доступ к файлу ресурса с помощью SerletContext
:
ServletContext ctx = ...;
InputStream stream = ctx.getResourceAsStream("/WEB-INF/classes/jdbc.properties");
, но яполучаю null
вместо input-stream.Я проверил, что этот файл доступен в окончательном архиве войны:
$ cd ./livewar-assembly/target/
$ unzip livewar-assembly-1.0-SNAPSHOT.war
$ find . -type f -name jdbc.properties
./WEB-INF/classes/jdbc.properties
Я создаю сервер с этим кодом:
final Server server = new Server(port);
final WebAppContext webapp = new WebAppContext();
final Configuration.ClassList classes = Configuration.ClassList
.setServerDefault(server);
classes.addBefore(
"org.eclipse.jetty.webapp.JettyWebXmlConfiguration",
"org.eclipse.jetty.annotations.AnnotationConfiguration"
);
webapp.setContextPath("/");
webapp.setWar(WAR.toString());
server.setHandler(webapp);
Почему я не могу получить доступ к ресурсуфайл и как я могу это исправить?