将包含子文件夹的外部根文件夹添加到tomcat(classpath)的每个应用程序的资源

时间:2015-07-16 12:51:42

标签: java tomcat tomcat7

我在%TOMCAT_HOME%中为静态资源(* .xml,* .properties等等)创建了文件夹资源

我的应用程序(app1)的部署在%TOMCAT_HOME%/资源中创建了文件夹 app1-resources ,其中包含我自己app1的文件* .xml,* .properties ....

在%TOMCAT_HOME%/ conf / catalina.properties中我添加了:

shared.loader=${catalina.base}/resources

但是当我使用类路径访问任何文件时:

(...)
<value>classpath:app1-resources/conf.properties</value>
(...)

或者:

(...)
@ImportResource("classpath:app1-resources/spring-config.xml")
(...)

失败!!!因为找不到资源......

如果我将配置更改为:

shared.loader=${catalina.base}/resources/app1-resources

并将访问权限更改为:

(...)
<value>classpath:conf.properties</value>
(...)

或者:

(...)
@ImportResource("classpath:spring-config.xml")
(...)

有效。

我的问题是如果我在同一个tomcat中部署多个应用程序,我想独立访问每个应用程序的资源。例如:

App1的:

  • 在java中:classpath:app1-resources / config.xml
  • 我为app1的资源创建了一个文件夹:%TOMCAT_HOME%/ resources / app1-resources / config.xml

App2的:

  • 在java中:classpath:app2-resources / config.xml
  • 我为app2的资源创建了一个文件夹:%TOMCAT_HOME%/ resources / app2-resources / config.xml

我的问题是:我可以指定我的资源位于其下的根目录(在每个应用的自定义文件夹中)吗?

任何人都可以解决我的问题吗?

提前致谢。

1 个答案:

答案 0 :(得分:0)

shared.loader的{​​{1}}或common.loader属性中指定。