jsf - ServletContext.TEMPDIR无法解析或不是字段

我正在将一些JSF代码从一个项目迁移到另一个项目,突然在我的新项目中ServletContext.TEMPDIR值失败了。我已经遍历了大多数文件,但这是唯一的错误,我不确定该在哪里修复。
tempdir是否不是servlet上下文的一部分?

我在起诉JSF和Spring btw。

最佳答案

该常数是Servlet 3.0中的introduced,它是Java EE 6的一部分。

您的问题表明您正在针对Servlet 2.5或更低版本(此常量为absent)编译代码。

使编译/构建与目标运行时对齐,并确保在webapp的/WEB-INF/lib中没有任何特定于servlet容器的库。

或者,如果您实际上需要从Servlet 3.0降级到Servlet 2.5,则将该常量替换为System.getProperty("java.io.tmpdir")的结果:

File tempdir = new File(System.getProperty("java.io.tmpdir"));

同样,另一种替代方法是使用 File#createTempFile() :
File tempfile = File.createTempFile(timeString, ".xlsx");

https://stackoverflow.com/questions/30111790/

相关文章:

c# - 类数组使用产生错误 "NullReferenceException: Object ref

compilation - 在Cygwin上编译GRUB(64位)

compiler-errors - ifort composer_xe_2015.3.187的编译问

sql - 在插入第三个表之前,如何使用触发器从两个表中获取日期?

vba - 编译错误预期: end of statment

android - 按下按钮后应用程式当机,但 Action 正常

compiler-errors - e编译错误数

scala - 在scala中的构造函数内部调用函数

vba - Excel VBA : Print sheet code not working

python - Python Kivy : pos_hint = (x.x, x.x) -> Er