我在Servlet中使用File.createTempFile
(createTempFile
版本只有前缀和后缀但没有File
参数。)
根据javadoc,这应该在系统的默认临时目录(在我的情况下为/tmp
)中创建一个文件。而是在/tmp/tomcat7-tomcat7-tmp/
。
为什么奇怪的临时文件位置以及如何将其更改为系统的“普通”临时文件位置?
答案 0 :(得分:2)
Java使用系统属性java.io.tmpdir
来获取当前的临时目录。据我所知,运行tomcat的其中一个脚本将此变量设置为您提到的内容。如果你很重要,你应该重写这个变量。尝试grep tomcat脚本,找到这个地方并覆盖它。在运行tomcat时,你可以设置JAVA_OPTS=$JAVA_OPTS java.io.tmpdir=/tmp
或类似的东西。 (显然语法取决于您的操作系统)。