【问题标题】:How can I put all dependencies into one folder inside a JAR file with Maven?如何使用 Maven 将所有依赖项放入 JAR 文件中的一个文件夹中?
【发布时间】: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.xmlhttps://paste.lucko.me/fgMSBhCtpM

提前致谢。

【问题讨论】:

  • 首先你应该写下你已经在使用 maven-shade-plugin,这是 maven-shade-plugin 产生的结果(所谓的可执行 jar)......此外,你为什么喜欢/需要要求的结构?你到底有什么问题?
  • 这是可能的,但系统类加载器不会理解它,除非你也重写字节码以符合新的包宝贝。这不是微不足道的。
  • @khmarbaise 我真的没有任何问题,只想构造 JAR 的内容¯_(ツ)_/¯
  • @ThorbjørnRavnAndersen 知道了。这是不值得的。谢谢。

标签: java maven minecraft


【解决方案1】:

没有。

JAR 的结构需要遵循包的名称。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-25
    • 2011-10-05
    • 1970-01-01
    • 2012-07-30
    • 1970-01-01
    相关资源
    最近更新 更多