Java 为多个war文件配置tomcat类路径

Java 为多个war文件配置tomcat类路径,java,tomcat,tomcat7,Java,Tomcat,Tomcat7,我在tomcat7中部署了多个war文件。您能告诉我如何在tomcat中配置类路径吗?这样,对于每个应用程序,它都会在tomcat的相应文件夹中查找属性文件和所有文件。 例如,abc.war和xyz.war文件部署在webapp文件夹中,因此对于abc.war,它将查看/shared/abc/。。。。对于xyz,它将查看/shared/xyz/。。。。而共享文件夹仅在tomcat7中 注意:我想要这个,因为所有war文件都使用相同名称的属性文件,所以我希望无论何时从abc.war发出请求,它都应

我在tomcat7中部署了多个war文件。您能告诉我如何在tomcat中配置类路径吗?这样,对于每个应用程序,它都会在tomcat的相应文件夹中查找属性文件和所有文件。 例如,abc.war和xyz.war文件部署在webapp文件夹中,因此对于abc.war,它将查看/shared/abc/。。。。对于xyz,它将查看/shared/xyz/。。。。而共享文件夹仅在tomcat7中


注意:我想要这个,因为所有war文件都使用相同名称的属性文件,所以我希望无论何时从abc.war发出请求,它都应该查看/shared/abc。。。当请求来自xyz.war时,它应该查看/shared/xyz/…

您不必做任何事情。对于每个war文件(web应用程序),只有其自己的属性文件可见


因此,请将属性文件放在war中,而不是放在共享文件夹或库中。

假设您希望使用相同的文件名(
the_file.properties
),但内容不同;否则,您可以在所有应用程序中重用它,而不需要真正的“分离”

在这种情况下,您可以这样做(特定于Tomcat):


您不需要知道根路径
ServletRequest.getRealPath()
将完全按照您在此处发布的内容执行。作为一种资源访问它会更简单。
private static final String ROOT_PATH = "catalina.home";
private static final String PROPS_FILE = "the_file.properties";

File directory = new File(System.getProperty(ROOT_PATH), "path/to/props_file");
File propsFile = new File(directory, PROPS_FILE);
BufferedInputStream bufferedInputStream = new BufferedInputStream(new FileInputStream(propsFile));