当前位置: 代码迷 >> java >> 将带有每个应用程序资源的子文件夹的外部根文件夹添加到tomcat(类路径)
  详细解决方案

将带有每个应用程序资源的子文件夹的外部根文件夹添加到tomcat(类路径)

热度:100   发布时间:2023-07-27 09:15:50.0

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

我的应用程序(app1)的部署在%TOMCAT_HOME%/ resource中创建,其文件夹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")
(...)

有用。

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

应用1:

  • 在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

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

有人可以解决我的问题吗?

提前致谢。

在指定它shared.loadercommon.loader财产/conf/catalina.properties

  相关解决方案