transmittable-thread-local icon indicating copy to clipboard operation
transmittable-thread-local copied to clipboard

使用 spring-boot loader 机制进行 fatjar 打包,以便支持更多依赖

Open JasonMing opened this issue 2 years ago • 1 comments

使用 spring-boot loader + fatjar 模式打包有如下优势:

  • 依赖无需shade,只需要打包到 BOOT-INF
  • 无需配置 bootstrap classpath
  • 依赖及不导出的类可以在独立的loader中加载,避免应用会意外访问
  • 主代码中可以依赖 kotlin,简化代码并且可以对 Transformlet 提供更好的 dsl
ttl-fatjar.jar
`-- BOOT-INF/
|   `-- lib/
|       `-- dep1.jar
|       `-- dep2.jar
|   `-- classes/
|       `-- <TTL类>
`-- ttl/loader
    `-- <loader相关类>

JasonMing avatar Aug 04 '22 03:08 JasonMing

  • 依赖无需shade,只需要打包到 BOOT-INF
  • 无需配置 bootstrap classpath
  • 依赖及不导出的类可以在独立的loader中加载,避免应用会意外访问

👍 💖

TTL v3会提供

  • shadeAPI依赖
  • 分离用户APIAgent成2个依赖

也可以提供spring-boot loader + fatjar模式依赖

PS:v3作为大版本升级,可以做不兼容的修改,清理掉不好的设计与实现;当然会提供TTL v2的兼容包。

  • 主代码中可以依赖 kotlin,简化代码并且可以对 Transformlet 提供更好的 dsl

v3会提供Kotlin语言的一等公民支持。

oldratlee avatar Aug 04 '22 04:08 oldratlee