基于Java的部署文件路径替换

基于Java的部署文件路径替换,java,tomcat,deployment,path,Java,Tomcat,Deployment,Path,我有一个应用程序,有几个路径和文件名要使用 它们都是相对的,而不是绝对的。当我构建一个普通的Java应用程序时,它还不错,但现在我把它变成了Tomcat web应用程序 timetables timteables.db .exclude .master 当我将我的应用程序部署到tomcat中时,我需要替换像/usr/share/和/var/这样的东西。我在web.xml中使用listener类。如何正确添加它们?Java解决这个问题的方法是什么?我不想硬编码它们有几个原因:因为它既不美观也不正

我有一个应用程序,有几个路径和文件名要使用 它们都是相对的,而不是绝对的。当我构建一个普通的Java应用程序时,它还不错,但现在我把它变成了Tomcat web应用程序

timetables
timteables.db
.exclude
.master

当我将我的应用程序部署到tomcat中时,我需要替换像/usr/share/和/var/这样的东西。我在web.xml中使用listener类。如何正确添加它们?Java解决这个问题的方法是什么?我不想硬编码它们有几个原因:因为它既不美观也不正确,而且,由于我的项目是开源的,我不想透露我自己的路径

对不起,这些文件在哪里?大概不是在战争中吧?若否,原因为何?安全问题还是它们是系统文件?@BoristheSpider正在测试它们是否在项目目录中,但出于安全问题,我不想将它们从allOkay的/webapp目录中移出,安全问题。嗯,应该注意的是,在任何体面的Tomcat部署上,Tomcat用户都不允许在其基地和家庭之外读取文件——这是为了安全。还应注意,将文件放在WEB-INF中是完全安全的,否则用户将能够访问WEB.xml,这通常是公认的方法。如果您想访问tomcat位置之外的文件,您需要保证tomcat可以读取该位置。您可以使用init参数配置路径。@BoristheSpider,如果我需要静态上下文,我可以将它们放在WEB-INF的源目录中,然后编译并生成.war包并部署?还好吗?没错。然后文件就在类路径中,您可以使用类加载器轻松地获取它们。