我们正在将一个Web应用程序从Tomcat 7.0迁移到Jboss 7.1。在此网络应用程序中,用户可以上传文档。然后,用户也可以下载或删除这些文档。

文档已存储在Web应用程序中(这是一项要求,因此我们无法将文档存储在Web容器中应用程序外部的DB或其他文件夹中)。

当使用Tomcat时,我可以完成。类似于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”)不适用于我。

非常感谢。

最佳答案

我找到了以下解决方案,该解决方案可能并不优雅,但对我有用。使用System.getProperties(),我获得了很多属性。我感兴趣的一个键是:“ jboss.server.data.dir”和“ $ {project.artifactId} $ {project.version}”(第二个键为您提供了已部署应用程序的绝对路径)。

希望它能帮助到别人。

关于tomcat - 在Jboss哪里上传文件,以后再下载?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22663098/

10-12 00:22
查看更多