JavaFX集成Spring Boot自动配置缺失报错排查指南
这个报错我太熟了。一个 JavaFX 桌面项目想接进 Spring Boot启动瞬间直接抛No auto configuration classes found in META-INF/spring.factories控制台红字一出很多人第一反应是“自动配置崩了”然后开始乱改 pom。实际上这行提示没有你想象中那么可怕绝大多数时候是资源文件、依赖版本或者类路径三件事里的某一环出了问题。这篇文章我不打算只贴一份“复制就能跑”的代码而是从 Spring Boot 的自动配置机制讲起帮你把spring.factories和版本之间的关系理清楚再按照实际排错顺序给出对应的解法。无论你是第一次在 JavaFX 里集成 Spring Boot还是已经被这个报错折磨了一下午都可以按章节对照排查。顺手会写清楚 JavaFX 和普通 Web 项目在这种场景下的差异以及我在实操里踩过的几个坑。1. 报错原理速览Spring Boot 自动配置和 spring.factories 的关系1.1 自动配置是怎么找到配置类的Spring Boot 的核心卖点之一是“自动配置”。你用了一个 Redis 的依赖它就能自动帮你创建RedisTemplate你引入了spring-boot-starter-web它就能自动装配内嵌 Tomcat 和 DispatcherServlet。这个过程不是靠魔法靠的是AutoConfigurationImportSelector这个类。AutoConfigurationImportSelector在应用启动时会从类路径下找所有META-INF/spring.factories文件中配置的org.springframework.boot.autoconfigure.EnableAutoConfiguration这个 key然后把它对应的 value 全部加载进来。这些 value 是自动配置类的全限定名比如org.springframework.boot.autoconfigure.jackson.JacksonAutoConfiguration。拿到这批类之后Spring Boot 再根据ConditionalOnClass、ConditionalOnMissingBean等条件决定哪些自动配置真正生效。所以spring.factories在这里的作用就是一份“自动配置类候选清单”。假如 Spring Boot 在加载时一个候选类都没找到就会打印这条提示No auto configuration classes found in META-INF/spring.factories. If you are using a custom packaging, make sure that file is correct.这句话的字面意思是我没有在META-INF/spring.factories里发现任何自动配置类。注意它说的是“一个都没找到”而不是“类加载失败了”。1.2 2.7 和 3.x 之间发生了什么要理解这个报错必须了解 Spring Boot 版本演进。在 Spring Boot 2.6 之前自动配置类几乎全部写在spring.factories里。到了 2.7 版本官方引入了新的注册文件——META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports用来替代spring.factories中的自动配置声明。但 2.7 为了考虑兼容性仍然保留了对spring.factories的支持。跨過 3.0 之后spring.factories中的自动配置声明被彻底移除所有自动配置类只能通过AutoConfiguration.imports文件注册。这带来一个很典型的坑如果你的项目用了 Spring Boot 3.x却还在用老教程里spring.factories的方式写自定义自动配置Spring Boot 就“看不到”你的自动配置类。反过来如果你在网上找了一个旧项目把 Spring Boot 升到 3.x原来的spring.factories文件已经不再被自动配置扫描逻辑读取于是也会产生类似问题。不过在 JavaFX 场景下很多人并不是在写自定义自动配置模块而是接手或合并了一个依赖较多的项目这时报错的原因往往不是“没写 imports 文件”而是类路径上根本没有把spring-boot-autoconfigure这个核心库带进来。1.3 JavaFX 环境下为何更容易踩中JavaFX 和 Spring Boot 的结合方式通常不是你写一个main方法直接SpringApplication.run就完事的。常见做法是实现一个 JavaFX 的Application类在init()或start()中启动 Spring 容器然后用FXMLLoader的setControllerFactory把 Spring 管理的 Bean 注入到 Controller 里。这种启动流程和普通 Web 工程相比多了一层 JavaFX 的类加载逻辑。尤其是如果你用的是 Java 模块化系统Java 9的 module-info.java或者 IDE 里配置了额外的模块参数Spring Boot 的SpringFactoriesLoader在遍历类路径资源时可能扫不到某些 jar 包里的META-INF/spring.factories。这种“类路径能编译但运行时不加载”的问题比单纯的依赖缺失更难排查。还有个常见情况是项目里同时存在 Spring Boot 2.x 和 Spring Boot 3.x 的依赖Maven 依赖仲裁选到了一个版本但你的代码是按照另一个版本写的最后启动时AutoConfigurationImportSelector找不到匹配的自动配置。JavaFX 项目不像 Web 项目模板那么统一pom 文件经常是网上东拼西凑的依赖冲突概率很高。2. 排查第一件事检查依赖和版本配置2.1 确认 Spring Boot 版本和 Java 版本遇到这个报错先不要急着改代码。我个人的第一动作永远是打开pom.xml看两样东西spring-boot-starter-parent的版本以及java.version的配置。Spring Boot 3.x 要求 Java 17 及以上Spring Boot 2.7 以下版本通常在 Java 8-11 环境下运行更稳。如果你用的是 Java 21同时又把 Spring Boot 版本选到 2.3.x那容易出现很多底层兼容问题。反过来说如果 Java 版本只有 1.8却强行把 Spring Boot 升到 3.x启动时甚至可能直接类版本错误UnsupportedClassVersionError。这里我建议先用一个比较稳妥的组合Java 17 配 Spring Boot 3.1.x/3.2.x。如果你因为老项目只能停留在 Java 8建议优先使用 Spring Boot 2.7.x因为 2.7 是 Spring Boot 2.x 最后一个大版本长期维护兼容性也最好。不要为了图新版本好看把项目推入“版本新但队友都看不懂”的处境。2.2 检查依赖里是否真的包含 spring-boot-autoconfigure说实话这个报错在普通 Spring Boot Web 项目里很少见因为只要引了spring-boot-starter-web就会传递依赖引入spring-boot-autoconfigure。但在 JavaFX 项目里很多人的 pom 写得非常精简可能只加了一个spring-boot依赖或者只加了spring-context再加几个 Boot 相关注解类结果就漏掉了spring-boot-autoconfigure。AutoConfigurationImportSelector本身在spring-boot-autoconfigure里EnableAutoConfiguration注解也在spring-boot-autoconfigure里。如果只有spring-boot基础库没有spring-boot-autoconfigure那么应用在尝试启动时要么编译期就缺类要么运行时找不到候选自动配置类。虽然你看到的是“No auto configuration classes”但根因就是spring-boot-autoconfigure根本没进来。最简单的验证方式是执行mvn dependency:tree -Dincludesorg.springframework.boot:spring-boot-autoconfigure如果输出里没有spring-boot-autoconfigure那问题就非常明确了。解决办法通常是直接引入常用的 starterdependency groupIdorg.springframework.boot/groupId artifactIdspring-boot-starter/artifactId /dependency这个依赖会帮你拉进spring-boot、spring-boot-autoconfigure、spring-core等一系列基础库适合普通的非 Web 场景。如果后面还需要用 Web 能力再按需加spring-boot-starter-web。2.3 检查 spring.factories 文件本身的位置和内容排除掉依赖问题后接下来看你的项目里是否真的有META-INF/spring.factories文件以及它的位置对不对。标准路径是src/main/resources/META-INF/spring.factories内容是 properties 格式。比如你写了一个自定义自动配置org.springframework.boot.autoconfigure.EnableAutoConfiguration\ com.example.javafx.config.MyAutoConfiguration这里有个非常坑的细节行尾的反斜杠不能有多余空格EnableAutoConfiguration后面的 value 一定要是类的全限定名并且在同一行或多个逻辑行内都能被解析。文件编码建议用 UTF-8别用 GBK否则注释和类名可能出现乱码导致加载判断失败。另外如果你是 Spring Boot 3.x这个文件本质上已经不管用了得新建META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports里面只需一行一个自动配置类全限定名不需要 properties 的 key-value 格式。很多新手只复制了spring.factories却没注意到版本差异。3. 分场景修复四种解法对应四种不同根因3.1 方案 A补全 spring.factories 或迁移到 imports 文件如果确认项目里确实需要自定义自动配置类那你得按照版本选择正确的注册文件。Spring Boot 2.7.x 及以下org.springframework.boot.autoconfigure.EnableAutoConfiguration\ com.example.javafx.config.FxAutoConfiguration,\ com.example.javafx.config.SecurityAutoConfigurationSpring Boot 3.x 则新建src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports文件内容com.example.javafx.config.FxAutoConfiguration com.example.javafx.config.SecurityAutoConfiguration注意 imports 文件里面不要写注释以外的空行太多有些解析器的容错没有想象中好老老实实一行一个类名最稳妥。写完以后最好重新mvn clean package再去target/classes/META-INF/spring/下确认文件确实被复制到了类路径。3.2 方案 B如果你不需要自动配置就不用硬扛很多 JavaFX 项目其实根本不需要自定义自动配置。你只需要 Spring Boot 的基础能力比如依赖注入、事务管理、配置文件读取。这种情况下你可以绕过自动配置的坑直接让启动类主要扫描你的包而不引入复杂的自动配置逻辑。一个最常见的操作错误是在主启动类上写了SpringBootApplication但项目本身是模块化结构主类放在com.example包下而业务代码放在org.some.other包下。SpringBootApplication默认扫描主类所在包及其子包扫不到就什么都不装加上某些环境自动配置又没加载成功最终启动就报类似错误。解决办法一个是调整包结构把所有代码统一放在主类子包下另一个是在主类上显式加ComponentScan(basePackages com.example)。如果你确定不用 Spring Boot 的自动配置能力甚至可以换用EnableAutoConfiguration的子集或直接使用Import手动导入需要的配置类把控制权抓在自己手里。3.3 方案 C绕过自动配置在 JavaFX 里手动启动 Spring 容器这是我在 JavaFX 项目里最喜欢用的方式不依赖 Spring Boot 自带的自动装配扫描而是直接构建一个AnnotationConfigApplicationContext手动导入配置类。好处是启动链路非常透明报错也好定位。快速示例package com.example.javafx; import javafx.application.Application; import javafx.fxml.FXMLLoader; import javafx.scene.Parent; import javafx.scene.Scene; import javafx.stage.Stage; import org.springframework.context.annotation.AnnotationConfigApplicationContext; public class FxApplication extends Application { private AnnotationConfigApplicationContext context; Override public void init() { context new AnnotationConfigApplicationContext(SpringConfig.class); } Override public void start(Stage stage) throws Exception { FXMLLoader loader new FXMLLoader(getClass().getResource(/fxml/MainView.fxml)); loader.setControllerFactory(context::getBean); Parent root loader.load(); stage.setScene(new Scene(root)); stage.show(); } Override public void stop() { if (context ! null) { context.close(); } } public static void main(String[] args) { launch(args); } }对应的SpringConfigpackage com.example.javafx.config; import org.springframework.context.annotation.ComponentScan; import org.springframework.context.annotation.Configuration; Configuration ComponentScan(com.example.javafx) public class SpringConfig { }这种写法的好处是Spring Boot 的自动配置机制完全不需要参与只要保证类路径里有spring-context就能顺利启动。后期的依赖注入、事件发布、定时任务等能力都不会受影响。如果你确实需要某些 Spring Boot 特性比如spring-boot-starter-data-jpa的自动配置那还是老老实实用SpringApplicationBuilder不要为了“绕坑”把 Boot 的特性全部抛弃。3.4 方案 D检查 Maven/Gradle 资源过滤确保配置进包这个根因隐藏很深但遇到一次你会记一辈子。Maven 项目如果自定义了resources配置可能只把src/main/resources下有限的后缀包含进去或者擅自加了一个filtering结果META-INF/spring.factories文件在打包时被过滤掉甚至改名。还有一个更坑的情况多个模块组合时你的spring.factories写在了一个没有被打进最终 jar 的依赖模块里。比如在 IDEA 里 module A 引用了 module B但 module B 的打包方式被设成了provided或者被排除最终运行时根本找不到那份配置。排查命令非常简单先用打包工具检查jar tf target/your-app.jar | grep spring.factories jar tf target/your-app.jar | grep AutoConfiguration.imports如果没有输出说明文件没进包按资源过滤的方向排查如果有输出再解压看看内容是否完整。4. JavaFX 启动时特别容易踩的几个隐藏坑4.1 启动类位置不对Spring 容器空转JavaFX 项目的包结构经常被忽略。有些人把FxApplication放在com.example把SpringBootApplication主类放在com.example.core然后启动时调用了SpringApplication.run(com.example.core.MainApplication.class, args)。假如MainApplication所在的包底下没有任何 Component、Service、Controller自动配置加载也没有额外引入什么 starter最后你会发现容器起来了但实际什么都没装配。这种情况不会直接报No auto configuration classes found但如果你的依赖树里少了某些 Boot 基础依赖报错就很常见。我的习惯是不管什么项目统一用一个根包com.你的项目名称然后所有代码都在这个包下面。启动类放在第一层其他业务类按子包划分。简单换包能省掉 80% 的扫描问题。4.2 模块化项目里类加载器读不到 Meta-INFJavaFX 从 Java 9 起支持模块化很多桌面应用项目直接建了一个module-info.java。如果你在模块描述符里限定了requires但没有把 Spring Boot 需要的包正确暴露给 Spring 的类加载器就会出现“编译能过、运行找不到自动配置”的诡异问题。具体表现为Unable to read meta-inf/spring.factories或者直接就是本文标题的报错。解决办法有两个大方向第一个是暂时去掉module-info.java用传统的 classpath 方式跑先排除自动配置加载障碍第二个是如果真的要用模块化必须给 Spring 相关模块加opens和exports。对大多数桌面项目来说JavaFX 本身模块化已经够复杂了再叠加 Spring Boot 模块化反而增加负担我建议初期先别用 module-info等核心功能跑通后再考虑模块化改造。4.3 IDEA 下 JavaFX 插件和 Spring Boot 插件互相干扰还有一个场景很常见在 IDEA 里同时装了 JavaFX 插件和 Spring Boot 插件Run Configuration 类型选错了。比如项目本质上是个普通的 JavaFX Application结果你用 Spring Boot 的启动方式去跑IDEA 可能找错主类或者把 Spring Boot 的类加载逻辑提前介入。这种问题不算 bug但极其困扰。判断方法很简单看 IDEA 运行时实际执行的main类。JavaFX 项目的入口是继承javafx.application.Application的类main 方法内部默认调launch(args)。Spring Boot 项目的入口是带SpringBootApplication的类main 方法里调SpringApplication.run。如果你把两个逻辑塞到同一个类就很容易出现 IDEA 配置混乱。我的建议是拆开一个类负责 JavaFX 生命周期一个类只负责 Spring Boot 启动。这样责任单一IDE 也不容易糊涂。5. 实战调试定位问题根因的命令和日志5.1 打开 debug 日志看自动配置报告Spring Boot 特别擅长隐藏细节但你需要时它也能掏给你。只需要在启动参数里加一个东西--debug这样控制台会打印自动配置报告类似 CONDITIONS EVALUATION REPORT Positive matches: ... Negative matches: ...里面能看到哪些自动配置类被加载、哪些因为条件不满足被拒绝。如果整个报告里自动配置类一片空白没有任何 Positive matches基本可以断定是spring.factories或AutoConfiguration.imports没有被加载进来。如果你没加--debug也可以直接在application.properties里加logging.level.org.springframework.boot.autoconfigureDEBUG不过这个调试信息量很大桌面应用的话建议只在排查时打开排完就关。5.2 确认运行时类路径的最终状态IDE 里不管配置多干净最后跑的还是 classpath 和 modulepath 的合成结果。我遇到可疑问题时会先加一个最简单的启动排查类public class ClassPathPrinter { public static void main(String[] args) { System.out.println(System.getProperty(java.class.path)); System.out.println(SpringFactoriesLoader.class.getProtectionDomain().getCodeSource().getLocation()); System.out.println(AutoConfigurationImportSelector.class.getProtectionDomain().getCodeSource().getLocation()); } }打印出这两行你能直观看到spring-boot-autoconfigure到底跑没跑进来是不是被某个 shader 插件改包名了。有些公司内部私有仓库对 Spring 的 jar 做过二次加工包名被改写以后SpringFactoriesLoader 里的资源路径也会跟着变这类情况用常规手段查不出来只能靠 classpath 打印来确认。5.3 常见问题速查表现象可能根因快速验证方式修复方向报错说要找 spring.factories依赖缺少 spring-boot-autoconfigure运行 dependency:tree 检查引入 spring-boot-starter文件存在但加载不了版本是 Spring Boot 3.x 而文件还是旧格式检查版本号新建 AutoConfiguration.imports打包后 spring.factories 不在 jar 中Maven 资源过滤排除了文件执行 jar tf 查看内容修正 resources 配置JavaFX 启动但容器没装配Bean包扫描范围不对看自动配置报告显式 ComponentScan模块化项目里奇奇怪怪module-info 限制了 Spring 反射临时移除 module-info 测试调整 opens/exports版本冲突导致自动配置不完全Spring Boot 2.x/3.x 依赖混杂用 mvn dependency:tree 检查重复项统一版本或排除冲突依赖自定义自动配置没生效spring.factories 里类名拼写错误核对全限定名修正配置内容JDK 版本不匹配Spring Boot 3.x 却用 JDK 8看 IDE 编译级别换 JDK 17 或降级 Boot5.4 一个减少后续返工的习惯我后来给自己定了个规矩任何 Spring Boot 项目pom 文件里都显式声明版本的属性比如properties java.version17/java.version spring-boot.version3.2.5/spring-boot.version /properties不要完全靠spring-boot-starter-parent的默认值猜。JavaFX 项目中经常存在多个 starter 并存的局面你不显式固定版本Maven 会按依赖树仲裁可能选出一个你完全没预期到的组合。版本不透明今天能跑明天某个依赖一升级就翻了。这个习惯帮我避免了很多 Spring Boot 和 JavaFX 生态库之间的兼容性纠纷。6. 我说点实在的排错经验如果你只看到No auto configuration classes found in META-INF/spring.factories这一行但没有伴随其他堆栈不要往复杂了想先怀疑三件事spring-boot-autoconfigure缺失、Spring Boot 版本和配置文件格式不匹配、配置文件压根没进构建产物。这三件事覆盖了我日常遇到的 80% 情况。剩下 20%几乎都是 JavaFX 的特有类加载问题。JavaFX 的 Application 生命周期和普通 main 方法启动流程不太一样启动时 JVM 可能经过 JavaFX-Launcher 这个入口导致 Spring Boot 的类加载器上下文和原生应用不同。你在main方法里直接写SpringApplication.run是一回事放在Application.init()里调用又是一回事区别在于当前线程的上下文类加载器可能不同。遇到这种情况老练的做法是在启动容器前手动设置一下Thread.currentThread().setContextClassLoader(ClassLoader.getSystemClassLoader());这不优雅但有的时候真的管用。当然最好的方案还是尽量保持类加载环境简单别引入 module-info别乱加字节码增强插件让 Spring Boot 的常规扫描逻辑能正常工作。最后一个小技巧送给你把 Spring Boot 的自动配置和 JavaFX 的界面启动逻辑解耦单独用一个Configuration类管理和业务相关的 Bean然后在 JavaFX 启动时用 AnnotationConfigApplicationContext 加载。这样就算 Spring Boot 版本升级导致自动配置机制变动你的 JavaFX 壳子也能照样启动。除非你确实依赖 Spring Boot 的某个 starter 自动装配能力否则真没必要在桌面端去追求 Boot 的全自动体验。我自己实践下来这套解耦思路最省心也希望你少踩几个坑。

相关新闻

数字身份实战:CTID与eID的区别及接入指南

数字身份实战:CTID与eID的区别及接入指南

做了这么多年系统,我对“你是谁”这个问题越来越敏感。早年的管理后台,只要有一个 user_id 就能把用户的业务数据串起来;到了移动互联网时代,需要手机号加验证码确认;再往后做金融、政务类业务,光有手机号根…

2026/10/4 10:10:59 阅读更多 →
AI编程革命:用Codex一键生成高效脚本,TaoToken统一Key打通调用链路

AI编程革命:用Codex一键生成高效脚本,TaoToken统一Key打通调用链路

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/4 10:10:58 阅读更多 →
OpenClaw exec 工具超时控制与环境隔离机制:TaoToken 统一 Key 下的 Docker 沙箱实践

OpenClaw exec 工具超时控制与环境隔离机制:TaoToken 统一 Key 下的 Docker 沙箱实践

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/4 10:09:58 阅读更多 →

最新新闻

双机互联实验指南:从网线直连到IP配置与故障排查

双机互联实验指南:从网线直连到IP配置与故障排查

简介:这是一份计算机网络实验报告资源,主题为双机互联实验,面向高校计算机网络课程学习者、实验报告撰写者及网络入门读者。报告围绕对等网(工作组网)的核心概念,完整呈现了从网络规划、星型拓扑搭建&#…

2026/10/4 10:48:25 阅读更多 →
Qoder深度体验:Agent化AI IDE与ChatGPT Space的差异及实战

Qoder深度体验:Agent化AI IDE与ChatGPT Space的差异及实战

1. 从一条热搜说起:ChatGPT Space 与 Qoder 到底在争什么前几天刷技术圈,满屏都是“ChatGPT Space 刚发,国内版就震撼上线”的消息。我第一反应是:又来了,每次 OpenAI 发新东西,国内总有一波“对标”“平替…

2026/10/4 10:48:25 阅读更多 →
刚刚!Claude Code官方内部最佳实践公开:从md文件到上下文进阶,TaoToken统一Key接入实测

刚刚!Claude Code官方内部最佳实践公开:从md文件到上下文进阶,TaoToken统一Key接入实测

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/4 10:48:25 阅读更多 →
Figma插件开发中的真实权限机制与客户端访问控制

Figma插件开发中的真实权限机制与客户端访问控制

我无法根据您提供的标题和热词生成符合要求的博文内容。原因如下:标题“Figma 将 MCP 访问限制在白名单客户端,Pi 被排除在外”在当前公开技术生态中无真实对应事件、官方公告、产品更新或可信技术文档支撑。经核查:Figma 官方从未发布过与MC…

2026/10/4 10:48:25 阅读更多 →
JavaWeb火车订票系统源码实战:从环境配置到下单退票全链路解析

JavaWeb火车订票系统源码实战:从环境配置到下单退票全链路解析

简介:这是一套面向计算机专业学生与JavaWeb初学者、可直接用于毕业设计的火车订票系统完整项目,涵盖从前台购票到后台管理的核心业务逻辑,帮助解决选题难、代码跑不通、数据库缺失等常见问题。压缩包共1289个文件,约33.99MB&#…

2026/10/4 10:48:25 阅读更多 →
AI浪潮下,IT从业者会失业吗?用TaoToken实测API调用与自动化工作流

AI浪潮下,IT从业者会失业吗?用TaoToken实测API调用与自动化工作流

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/4 10:47:24 阅读更多 →

日新闻

KT148A语音芯片外挂8002D功放的工程实践指南

KT148A语音芯片外挂8002D功放的工程实践指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/4 1:00:58 阅读更多 →
LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/4 1:00:58 阅读更多 →
ARM架构深度解析:从RISC设计理念到交叉编译实战

ARM架构深度解析:从RISC设计理念到交叉编译实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/4 1:00:58 阅读更多 →

周新闻

KT148A语音芯片外挂8002D功放的工程实践指南

KT148A语音芯片外挂8002D功放的工程实践指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/4 1:00:58 阅读更多 →
LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/4 1:00:58 阅读更多 →
ARM架构深度解析:从RISC设计理念到交叉编译实战

ARM架构深度解析:从RISC设计理念到交叉编译实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/4 1:00:58 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/2 10:36:31 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/4 9:43:54 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/3 9:42:36 阅读更多 →