1

我有一个 ajax 文件上传系统正在运行。

我想要做的是将文件存储在 Apache 的 webroot 下的目录中,该应用程序在 tomcat 中运行,我更喜欢将文件存储在 webroot 之外(在 tomcat 中),以及 Apache 的 webroot 的某个地方,如我们定期更新应用程序。

我有这个:

var root = new java.io.File("").getAbsolutePath()

这可以给我应用程序的位置。

我真的不想将它添加到应用程序的 config.xml 中,所以我想知道是否有人知道如何找到 Apache 的 webroot 的位置,以防它发生变化或我们交换服务器并且设置是不同的?

哇,我输入了很多“webroot”..

非常感谢您的帮助,非常感谢:)

4

1 回答 1

1

查找当前的 apache 位置是一项棘手的工作,特别是在您需要处理虚拟主机时。您可能应该为此使用属性文件。您可以拥有多个Props 文件,每个环境一个。

Lift 有多种加载属性文件的方法,我强烈建议使用它找到解决方案。例如,您甚至可以覆盖在 Lift 中查找配置文件的位置。

或者,您可以将 apache home 设置为 jetty 启动脚本中的变量,例如:

JAVA_OPTIONS="$JAVA_OPTIONS -Dapache.home=/etc/httpd"

然后在您的代码中使用它:

val apacheHome = System.getProperty("apache.home")

请注意,如果此类属性不存在, System.getProperty 将返回 null。您可能想要使用Option,使检查更惯用:

val apacheHome = Option(System.getProperty("apache.home"))
// apacheHome: Option[java.lang.String] = ...
于 2012-07-07T04:14:18.973 回答