我正在将一些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/