java - 使用来自外部 jar 文件的类覆盖 Spring Boot 应用程序中的类
问题描述
如何使用引导应用程序让位于外部 jar 文件中的类覆盖引导应用程序中的类?
用例:引导应用程序largeApp
不经常发布。作为用户,largeApp
我想通过覆盖特定类而不重建来纠正错误largeApp
。
.
|-- dist
| |-- largeApp.jar
| |-- lib
| | `-- bugfixes.jar
编辑: Bean 覆盖范围太窄。
在切换到启动之前,我通过构建myApp
来解决这个问题largeApp
使用战争项目,
myApp.war
以及largeApp.war
<project> <groupId>x.y.z</groupId> <artifactId>myApp</artifactId> <version>1.0-SNAPSHOT</version> <packaging>war</packaging> <dependencies> <dependency> <groupId>x.y.z</groupId> <artifactId>largeApp</artifactId> <version>${fw.commons.jetty.version}</version> <type>war</type> </dependency> </dependencies> </project>
两个项目都将包含
src/main/java/SomeClass.java
并且myApp
首先自动加载类(因为战争类加载器首先加载项目类文件,然后是 jar 文件)
编辑 2:
- 服务类是弹簧管理的,可能会被覆盖为 bean
- 有些类是由构造函数创建的
new Foo()
- 有些类是通过反射创建的
Class.forName("a.b.Foo")
此外,配置管理不是问题。
解决方案
推荐阅读
- python - 如何使用python在向量中编写具有间隔的时间循环?
- python-3.x - 为什么ColumnTransformer中的Sklearn Transformer的构造函数被调用了两次,而且两次调用的参数不同
- c# - 加载 sqlite 扩展时,dotnet run 意外退出
- lua - 我怎样才能得到单词后面的所有文字
- python - 通过日期循环解决方案(Python 中 ORTools 的 CVRP 问题)
- python - python将多个json命令添加到json文件中
- javascript - 如何在 ReactJS 中为组件创建移动布局?
- entity-framework - 无法从链接表中获取数据
- node.js - 为什么我的护照中间件功能不能正常工作?
- php - Slim 应用程序错误 发生网站错误。, Slim 无法获取我的功能