ClassPathResource 写入文件无效问题

文章讲述了在Java开发中遇到的问题,即通过ClassPathResource读取resources路径下的文件并尝试写入到另一个文件(crt-openrc)中,但写入后发现目标文件为空,没有报错。问题在于ClassPathResource实际读取的是build后的路径,特别是当使用测试类运行时,它查找的是test-classes目录下的文件。

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

通过ClassPathResource读取resources路径下的文件

然后写入另一个文件中,如图:

 写完之后查看crt-openrc 就是没有写入,也没有报错,文件是空的:

其实 ClassPathResource这个类读取的是build后的文件路径,在这儿呢:

我这里是用测试类运行的,所以在test-classes下面

 

<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE configuration> <configuration> <include resource="org/springframework/boot/logging/logback/defaults.xml"/> <include resource="org/springframework/boot/logging/logback/console-appender.xml"/> <!--应用名称--> <springProperty scope="context" name="APP_NAME" source="spring.application.name"/> <!--日志文件保存路径--> <springProperty scope="context" name="LOG_FILE_PATH" source="logging.file.path"/> <springProperty scope="context" name="LOGSTASH_SERVER" source="lili.data.logstash.server"/> <contextName>${APP_NAME}</contextName> <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <fileNamePattern>${LOG_FILE_PATH}/${APP_NAME}-%d{yyyy-MM-dd}.log</fileNamePattern> <maxHistory>30</maxHistory> </rollingPolicy> <encoder> <pattern>${FILE_LOG_PATTERN}</pattern> </encoder> </appender> <!--输出到elk的LOGSTASH--> <appender name="LOGSTASH" class="net.logstash.logback.appender.LogstashTcpSocketAppender"> <!-- 配置elk日志收集 配饰的是 LOGSTASH 的地址--> <destination>${LOGSTASH_SERVER}</destination> <encoder charset="UTF-8" class="net.logstash.logback.encoder.LogstashEncoder"> <providers> <timestamp> <timeZone>UTC</timeZone> </timestamp> </providers> <!--自定义字段 区分项目--> <customFields>{"appName":"${APP_NAME}"}</customFields> </encoder> </appender> <root level="INFO"> <appender-ref ref="CONSOLE"/> <appender-ref ref="FILE"/> <appender-ref ref="LOGSTASH"/> </root> </configuration> 优化要求不要Logback统计配置 日志文件全部保存本地指定目录
最新发布
06-10
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

felin7

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值