我们正在将一个Web应用程序从Tomcat 7.0迁移到Jboss 7.1。在此Web应用程序中,用户可以上载文档。用户也可以下载或删除这些文档。
文档已存储在Web应用程序中(这是一项要求,因此我们无法将文档存储在数据库或Web容器上应用程序之外的其他文件夹中)。
使用Tomcat时我可以做到smth。像java代码中的以下内容一样,获取存储文件的目录的现有绝对路径:
String catalinaHome = "";
String dataPath = "";
try {
if (System.getenv("CATALINA_HOME") != null) {
catalinaHome = System.getenv("CATALINA_HOME");
} else if (System.getProperty("catalina.base") != null) {
catalinaHome = System.getProperty("catalina.base");
}
dataPath = catalinaHome + "/webappsdata/" + APP_NAME + UPLOADED_FILES;
当我现在使用Jboss 7.1而不是Tomcat时,如何实现相同或类似的目标?
使用smth。像System.getProperty(“JBOSS_HOME”)一样对我不起作用。
提前很多。
答案 0 :(得分:0)
我找到了以下解决方案,这可能并不优雅,但对我有用。使用 System.getProperties()我有很多属性。对我来说有趣的一个关键是:" jboss.server.data.dir" 和" $ {project.artifactId} $ {project.version }" (第二个为您提供已部署应用的绝对路径)。
希望它对某人有帮助。