我正在尝试创建一个环境,其中应用程序构建在不同环境中保持相同。为了支持这一点,我已经外部化了任何要从外部目录读取的属性文件,例如 $CATALINA_BASE/conf/app1/config
我们使用 ehcache 进行缓存(用于 CAS)和实例之间的复制 如果 ehcache-replicated.xml 不在 WEB-INF/classes 目录中,我似乎会收到错误消息。我试过这样更新 Tomcat 的 setenv.sh:
CLASSPATH=$CATALINA_BASE/conf/app1/config/ehcache-replicated.xml
export CLASSPATH
我也尝试添加到 JAVA_ENDORSED_DIRS,但它们似乎都不起作用。有任何想法吗?
最佳答案
类路径条目是一个目录,而不是一个文件。所以尝试 CLASSPATH=$CATALINA_BASE/conf/app1/config
,它可能会起作用。
我说可能是因为 Tomcat 正在应用类加载器隔离。 war 不会看到应用程序服务器的类路径。因此,这取决于您在哪里设置类路径。
通常,在 catalina.properties
shared.loader
中添加类路径条目是可行的。但这是我的想法。
关于java - ehcache-replicated.xml 可以放在 WEB-INF/classes 之外吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46853061/