gpt4 book ai didi

spring - 需要了解 spring.handlers 和 spring.schemas

转载 作者:IT老高 更新时间:2023-10-28 13:53:39 25 4
gpt4 key购买 nike

我有一些问题源于我已经通过 this other question 解决的问题.但是,我仍然想知道根本原因。我的问题如下:

  1. spring.handlersspring.schemas 的用途是什么?

据我了解,这是一种告诉 Spring 框架在哪里定位 xsd 的方式,以便正确连接和加载所有内容。但是……

  1. 什么情况下我应该在META-INF文件夹下有这两个文件?

  2. 在我上面链接的另一个问题中,有人知道为什么我必须添加 maven-shade-plugin 来在 META-INF 下创建这两个文件(基于我的所有依赖项) ?换句话说,让我不得不使用 maven shade 插件的根本原因是什么?

最佳答案

What is the purpose of spring.handlers and spring.schemas?

好吧,您或多或少是您自己发现的,让我们添加更多细节:

一些 spring 库在 META-INF 目录中包含一个 spring.schemas and a spring.handlers file

META-INF/spring.schemas

  • 将架构位置重新映射 (*) 到库内的 xsd
  • (抽象)此库仅支持重新映射的版本

META-INF/spring.handlers

  • 为特定命名空间提供命名空间处理程序类
  • 命名空间处理程序类提供解析器逻辑来解析 spring-batch bean,如 job步骤

(*) 实际的重新映射发生在 Spring 应用程序上下文的构建过程中


Under what circumstances should I have those two files under theMETA-INF folder?

通常文件在你使用的spring库jar中,但你可以使用该机制来实现自己的命名空间bean解析,那么你就会有自己的文件


In my other question linked above, does anybody know why I had to addthe maven-shade-plugin to create those two files (based on all mydependencies) under META-INF? In other words, what was the ROOT CAUSEthat made me have to use the maven shade plugin?

如果您在 spring 配置中使用 spring 命名空间,则需要相应的文件

当你想运行一个java应用程序时,问题就出现了:

  • 有一个主类
    • spring 库需要在类路径中
    • 或全部合并到一个 jar 中,该 jar 必须在类路径中 (*)
  • 作为 war/ear 服务器应用程序,spring 库需要在类路径中,通常在 war 中

我猜你没有用完整的类路径启动主类,我也为你的第一个问题更新了我的 answer

(*) 如果将所有内容合并到一个 jar 中,则必须确保所有 spring.schemas/spring.handlers 文件的内容都合并到一个 spring.schemas 和一个 spring.handlers 文件中,请参阅此 answer for a configuration with maven to create an all-in-one.jar

关于spring - 需要了解 spring.handlers 和 spring.schemas,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8609322/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com