【发布时间】:2021-11-02 07:55:19
【问题描述】:
我在我的项目中使用 Maven 和几个库,其中一些嵌套在最终的 JAR 文件中。
JAR 文件中的文件结构现在如下所示:
jar
│
├───com
│ ├───feniksovich (my project)
│ └───zaxxer (hikari shaded lib directory)
│
├───org
│ ├───apache (commons-io shaded lib directory)
│ └───slf4j (slf4j shaded lib directory)
└───redis (jedis shaded lib directory)
可以让它看起来像这样吗?
jar
│
├───com
│ └───feniksovich (my project)
│
└───libs
├───com
│ └───zaxxer (hikari shaded lib directory)
├───org
│ ├───apache (commons-io shaded lib directory)
│ └───slf4j (slf4j shaded lib directory)
└───redis (jedis shaded lib directory)
我现在的pom.xml:https://paste.lucko.me/fgMSBhCtpM
提前致谢。
【问题讨论】:
-
首先你应该写下你已经在使用 maven-shade-plugin,这是 maven-shade-plugin 产生的结果(所谓的可执行 jar)......此外,你为什么喜欢/需要要求的结构?你到底有什么问题?
-
这是可能的,但系统类加载器不会理解它,除非你也重写字节码以符合新的包宝贝。这不是微不足道的。
-
@khmarbaise 我真的没有任何问题,只想构造 JAR 的内容¯_(ツ)_/¯
-
@ThorbjørnRavnAndersen 知道了。这是不值得的。谢谢。