Scala Lift - 将文件保存到apache目录中

时间:2012-07-06 22:06:24

标签: java apache scala lift

我已启动并运行ajax文件上传系统。

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

我有这个:

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

这可以为我提供应用位置。

我真的不想将此添加到应用程序的config.xml中,所以我想知道是否有人知道如何在它更改或我们交换服务器的情况下找到Apache的webroot的位置设置不同?

哇我输入“webroot”很多..

非常感谢任何帮助,非常感谢:)

1 个答案:

答案 0 :(得分:1)

查找当前的apache位置是一件棘手的事情,特别是如果您需要处理虚拟主机。您可能应该使用属性文件。您可以拥有多个Props files,每个环境都有一个。

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] = ...