spring-boot XXL-JOB java.io.IOException: No such file or directory

在尝试使用Spring-Boot集成XXL-JOB时,遇到一个异常情况:在本地运行正常,但当部署到Linux虚拟机上,调度任务的日志无法写入,报错为'No such file or directory'。问题源于Linux环境缺少指定的日志路径'/data/applogs/xxl-job/jobhandler'。解决方案是手动在Linux根目录下创建相应的文件夹结构,以赋予应用写入权限。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

spring-boot 使用 XXL-JOB

        XxlJobHelper.log("ip:"+ip+"  执行成功!! "+number );

在本地环境下,从admin客户端可以看到执行日志信息,在虚拟机 Linux环境下 系统提示 找不到文件或文件夹

2022-05-12 16:33:08.030 ERROR 97519 --- [rCallbackThread] com.xxl.job.core.log.XxlJobFileAppender : No such file or directory

java.io.IOException: No such file or directory
at java.io.UnixFileSystem.createFileExclusively(Native Method) ~[na:1.8.0_262]
at java.io.File.createNewFile(File.java:1014) ~[na:1.8.0_262]
at com.xxl.job.core.log.XxlJobFileAppender.appendLog(XxlJobFileAppender.java:99) ~[xxl-job-core-2.3.1-SNAPSHOT.jar!/:na]
at com.xxl.job.core.context.XxlJobHelper.logDetail(XxlJobHelper.java:164) [xxl-job-core-2.3.1-SNAPSHOT.jar!/:na]
at com.xxl.job.core.context.XxlJobHelper.log(XxlJobHelper.java:118) [xxl-job-core-2.3.1-SNAPSHOT.jar!/:na]
at com.xxl.job.core.thread.TriggerCallbackThread.callbackLog(TriggerCallbackThread.java:197) [xxl-job-core-2.3.1-SNAPSHOT.jar!/:na]
at com.xxl.job.core.thread.TriggerCallbackThread.doCallback(TriggerCallbackThread.java:170) [xxl-job-core-2.3.1-SNAPSHOT.jar!/:na]
at com.xxl.job.core.thread.TriggerCallbackThread.access$200(TriggerCallbackThread.java:26) [xxl-job-core-2.3.1-SNAPSHOT.jar!/:na]
at com.xxl.job.core.thread.TriggerCallbackThread$1.run(TriggerCallbackThread.java:76) [xxl-job-core-2.3.1-SNAPSHOT.jar!/:na]
at java.lang.Thread.run(Thread.java:748) [na:1.8.0_262]

查看 com.xxl.job.core.log.XxlJobFileAppender 得知文件路劲

public class XxlJobFileAppender {
	private static Logger logger = LoggerFactory.getLogger(XxlJobFileAppender.class);

	/**
	 * log base path
	 *
	 * strut like:
	 * 	---/
	 * 	---/gluesource/
	 * 	---/gluesource/10_1514171108000.js
	 * 	---/gluesource/10_1514171108000.js
	 * 	---/2017-12-25/
	 * 	---/2017-12-25/639.log
	 * 	---/2017-12-25/821.log
	 *
	 */
	private static String logBasePath = "/data/applogs/xxl-job/jobhandler";
	private static String glueSrcPath = logBasePath.concat("/gluesource");

private static String logBasePath = “/data/applogs/xxl-job/jobhandler”;
Linux 环境下 无权限创建文件夹 需要手动在 根目录下 /data/applogs/xxl-job/jobhandler 创建这几个目录文件夹即可

引用的内容,出现"Error opening trace file: No such file or directory"错误的原因是因为在修改Activity的名称后,AndroidManifest.xml文件中注册该Activity的语句没有随之修改导致的。当你修改了Activity的名称,但忘记在AndroidManifest.xml文件中更新相应的注册语句时,就会出现该错误。 引用的内容,如果出现"Error opening olr.loc file. No such file or directory"错误,可以尝试删除<uses-sdk android:minSdkVersion="8" android:targetSdkVersion="19" />,然后添加<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />。此外,还需要确保Activity自定义类的名称与AndroidManifest.xml中的注册一致。如果这些步骤都没有解决问题,可能需要进一步调查和排查其他可能的原因。 综上所述,当出现"Error opening olr.loc file. No such file or directory"错误时,首先需要检查AndroidManifest.xml文件中是否正确注册了相应的Activity,并确保Activity的名称与注册一致。另外,可以尝试删除<uses-sdk>标签并添加<uses-permission>标签来解决问题。如果问题仍然存在,可能需要进一步的调查和排查。<span class="em">1</span><span class="em">2</span> #### 引用[.reference_title] - *1* [error opening trace file: No such file or directory (2)解决办法之一](https://blog.csdn.net/li13725628760/article/details/13004621)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* [android 基础项目及开发出现:error opening trace file: No such file or directory错误解决...](https://blog.csdn.net/weixin_30439031/article/details/99607500)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值