例如:
<constant name="struts.multipart.saveDir" value="temp" />
将保存到:
\的Apache Tomcat 7.0.14 \ BIN \ TEMP \ upload__781d3178_13831f5e207__8000_00000003.tmp
所以,相反,我怎么让它去:
C:\ MY_PROJECT \编译\网络\ TEMP \
如果不使用绝对路径,因为我不想每次都重新配置的项目移动。 我只想相对路径基本。
编辑1:
我不认为它很重要,但我使用Struts 2版本2.1.8.1
编辑2:
我使用的Apache Tomcat。 这就是我在部署项目。 有没有办法让在struts.xml中到Tomcat的项目部署位置的参考?
就像是:
<constant name="struts.multipart.saveDir" value="..\webapps\project\build\web" />
有几种方法可以做到这一点。 这里是最简单的方法:
<constant name="struts.multipart.saveDir" value="${catalina.home}/webapps/project/web/temp"/>
你必须设置你的CATALINA_HOME
UPDATE
也许这样,在你的web.xml:
<context-param>
<param-name>catalina.home</param-name>
<param-value>path/to/your/tomcat</param-value>
</context-param>
UPDATE
我还发现了一个链接,它是Log4j的,却是一样的。 链接到解决方案
该项目是在应用程序的来源 ,开发人员工作站上,都是。
在运行时,你得到的是运行的部署战争的服务器。 应用程序的用户他们在工作站上的来源,该目录是无关的应用程序服务器。 它不关心,而不必知道。 有可能是应用程序服务器上这样的目录,但它不知道,这是一个目录作为机器上的所有其他目录。 有没有其他方式比在一些配置文件中指定它。