我有一个Tomcat应用程序,该应用程序需要引用该应用程序外部的一些属性文件。通常,这些文件存储在本地计算机上的特定位置,例如C:\PROJECT_NAME\conf\。
C:\PROJECT_NAME\conf\
在Tomcat 7中,这可以通过context.xml在/META- INF/其中放置一个文件来实现,该文件使用VirtualWebappLoader基本上将该位置添加到应用程序类路径中,如下所示:
context.xml
/META- INF/
VirtualWebappLoader
<Context> <Loader className="org.apache.catalina.loader.VirtualWebappLoader" virtualClasspath="/PROJECT_NAME/conf" searchVirtualFirst="true" /> </Context>
如何在Tomcat 8中实现同一目的?
Tomcat 8迁移指南中有关于此内容的部分,它将指导您使用资源配置。
特别是,您将创建一个WebResourceRoot对象,该对象的说明中包含以下文本。
VirtualWebappLoader-替换为映射到WEB-INF / lib和WEB-INF / class的资源前和资源后
您的新context.xml将类似于以下内容:
<Context> <Resources className="org.apache.catalina.webresources.StandardRoot"> <PreResources className="org.apache.catalina.webresources.DirResourceSet" base="C:\\PROJECT_NAME\\conf" internalPath="/" webAppMount="/WEB-INF/classes" /> </Resources> </Context>