3

別の WAR を含む EAR があります。プロジェクトの構造を以下に示します。

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

ListPageServiceWAR には、ファイルを読み取る必要がある JAX-RS クラスがありcontent.htmlます。そのファイルにアクセスするにはどうすればよいですか?

4

2 に答える 2

3

The usual way to get at resources in a WAR file is via ServletContext.getResource or getResourceAsStream. You should be able to get access to the ServletContext in a JAX-RS class by declaring a field annotated with javax.ws.rs.core.Context

@Context ServletContext servletContext;

then in the request handling method you can say

URL content = servletContext.getResource("/content.html");
// alternatively
// InputStream content = servletContext.getResourceAsStream("/content.html");
于 2012-12-21T15:03:41.180 に答える
2

編集:この回答は、現在定式化されているため、質問には適用されなくなりました。推奨される方法は、クラスパスからリソースを取得する場合にのみ機能します。

メソッドをご覧くださいClass.getResourceAsStream。クラスパスで見つかったファイルにアクセスできます。

于 2012-12-21T12:42:00.637 に答える