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