
1、首先打开eclipse程序,在下端工具栏内,找到server按钮
2、点击打开server界面,可以看到所要部署的Tomcat工程服务
3、选择对于的服务,点击右键选择open,或者直接双击,打开overview详情配置页面
4、在overview界面可以看到相关的服务配置信息,查看Server Location,其中有两个路径信息,一个server path是Tomact服务路径,一个是Deploy path发布路径,根据Tomcat服务路径和发布路径,可以找到工程发布的位置
现象:
上传excel,出现报错:
[Request processing failed; nested exception is orgspringframeworkwebmultipartMultipartException: Could not parse multipart servlet request; nested exception is javaio
IOException: The temporary upload location [/tmp/tomcat38149742210226134318080/work/Tomcat/localhost/ROOT] is not valid] with root causejavaio
IOException: The temporary upload location [/tmp/tomcat38149742210226134318080/work/Tomcat/localhost/ROOT] is not valid
原因:
1spring boot的应用服务在启动的时候,会生成在 *** 作系统的/tmp目录下生成一个Tomcat的文件目录,用于"javaiotmpdir"文件流 *** 作
TomcatEmbeddedServletContainerFactory
2程序对文件的 *** 作时:会生成临时文件,暂存在临时文件中;
linux 系统的tmpwatch 命令会删除10天未使用的临时文件;
长时间不 *** 作,导致/tmp下面的tomcat临时文件目录被删除,且删除的文件不可恢复,上传文件时获取不到文件目录,报错
解决方案:
1重启服务,临时方案:会重新生成tomcat目录,但是生产环境不建议如此 *** 作;
21增加服务配置,自定义baseDir:
22启动时增加参数-Djavaiotmpdir=自定义目录
3修改tmpwatch 删除文件的逻辑,系统级别的命令,不建议 *** 作
4在网上看到有:编码的方式catch异常,生成删除的文件夹;(方法未验证)
参考:
>
我自己电脑上搭建了服务端(james)和客户端(claros in touch),tmp目录我放在WEB-INF下,现在在对claros in touch 进行改进,里面问题还是蛮多的
实现思路就是先获取到类路径,之后再类路径中截取出相应的项目根路径(因为是知道类和项目的相对位置的)。
可以通过“ 类名classgetResource("")getPath()”方法实现获取到当前的路径。
举例:”String path = XMLSclassgetResource("")getPath()“
解释:以上语句就是获取到XMLS编译后的绝对路径(无法获取到java文件路径的,因为java运行的都是class文件),之后根据实际情况截取任意位置的路径都可以。
以上就是关于脚本应放在tomcat哪里全部的内容,包括:脚本应放在tomcat哪里、Tomcat基础(2)、eclipse上配置tomcat,发布web工程A,发布文件的位置在哪等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)