每当我尝试在特定计算机上部署Jetty(与其他人一起工作)时,我都会遇到问题,该计算机是非英语Windows计算机 .
[2013-02-15 04:14:05.894] [错误] Thread-39 System.err java.lang.IllegalStateException:无法在C:\ Windows \ system32 \ config \ systemprofile \ AppData \ Local \ Temp \中创建tmp目录for context oejwWebAppContext {/ spdy,null},C:\ Program Files \ server \ work \ tmp \ my-app \ webapps \ spdy.war [2013-02-15 04:14:05.894] [ERROR] Thread-39 System.err java.io.IOException:Žw'è,³,ê,½ƒpƒX,ªŒ©,Â,©,è,Ü,¹,ñB
我试图看看这是否是与管理员权限相关的问题,但事实并非如此,我正在启动具有管理员权限的流程 .
任何建议都非常感谢 .
谢谢!
2 回答
能够找到问题 . 如果它不存在,Jetty不会创建TEMP文件夹,因此您必须检查自己并创建临时文件夹(如果不存在) .
在这个例子中,它最终是:C:\ Windows \ system32 \ config \ systemprofile \ AppData \ Local \ Temp \不存在虽然C:\ Windows \ system32 \ config \ systemprofile \ AppData \ Local \ does和TEMP = C:\ WINDOWS \ system32 \设置\ systemprofile \应用程序数据\本地的\ Temp \
在C:\ Windows \ system32 \ config \ systemprofile \ AppData \ Local \中创建“Temp”目录解决了问题!
这是相当古老的帖子,但最近我遇到了同样的问题,所以我也希望分享我的经验 .
可以在此处找到导致问题的部分代码:http://download.eclipse.org/jetty/stable-8/xref/org/eclipse/jetty/webapp/WebInfConfiguration.html#225,
resolveTempDirectory (WebAppContext context)
方法(检查方法的最后几行,注释中说明的第三种情况) . 因此,该问题的另一种解决方法也可以是将默认java.io.tmpdir
文件夹更改为指向现有文件夹 .我已经检查了一些系统,并且Windows上不存在
C:\Windows\system32\config\systemprofile\AppData\Local\Temp
文件夹:7,2008,2012 .