我有EAR,其中包含另一个WAR。项目结构如下所示:
project.ear
|-- lib
|-- META-INF
|-- project-web.war
| |-- META-INF
| |-- WEB-INF
| | |-- classes
| | | `-- com
| | | `-- example
| | | `-- services
| | | `-- ListPageService.class
| | |-- lib
| | |-- web.xml
| | `-- weblogic.xml
| `-- content.html
`-- project-services.jar
在WAR中,有一个JAX-RS类ListPageService
需要读取content.html
文件。我如何访问该文件?
答案 0 :(得分:2)
编辑:此答案不再适用于现在制定的问题。建议的方法仅用于从类路径获取资源。
查看Class.getResourceAsStream
方法。它允许您访问类路径中找到的文件。
答案 1 :(得分:2)
获取WAR文件中资源的常用方法是ServletContext.getResource
或getResourceAsStream
。您应该能够通过声明使用ServletContext
javax.ws.rs.core.Context
@Context ServletContext servletContext;
然后在请求处理方法中你可以说
URL content = servletContext.getResource("/content.html");
// alternatively
// InputStream content = servletContext.getResourceAsStream("/content.html");