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

标签 java tomcat tomcat7

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

我的应用程序 (app1) 的部署在 %TOMCAT_HOME%/resources 文件夹 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 中部署多个应用程序,我想独立访问每个应用程序的资源。例如:

应用程序 1:

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

应用程序 2:

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

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

谁能解决我的问题?

提前致谢。

最佳答案

/conf/catalina.propertiesshared.loadercommon.loader 属性中指定。

关于java - 将带有每个应用程序资源子文件夹的外部根文件夹添加到 tomcat(类路径),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31454689/

相关文章:

java - float 的递增/递减似乎不对

java.util.Optional 到 java.lang.Iterable?

java - 在 Spring Web 应用程序 (Tomcat) 中注册自定义 URLStreamHandler

java - Tomcat7 管理器中的空 session

eclipse - Tomcat Eclipse ERR_SSL_VERSION_OR_CIPHER_MISMATCH

java - 序列化与字符串格式

java - JMS TransactionRolledbackLocalException 导致 GlassFish 崩溃

java - 使用 Java 创建 WAR 文件

java.lang.NoClassDefFoundError : org/apache/commons/vfs/FileSelector 错误

spring-mvc - 使用 AngularJS 配置 Spring MVC