首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么maven-assembly-plugin描述符在它的示例站点中写着<!-- TODO:一个jarjar格式更好-->?

为什么maven-assembly-plugin描述符在它的示例站点中写着<!-- TODO:一个jarjar格式更好-->?
EN

Stack Overflow用户
提问于 2015-09-01 04:17:40
回答 2查看 204关注 0票数 4

关于maven-assembly-plugin,一直让我感到疑惑的是apache网站上的jar-with-dependencies example file有一个关于jarjar格式的TODO注释。

这只是一个不断被复制的代码工件,还是在示例文件中的TODO背后有什么实际的原因?

EN

回答 2

Stack Overflow用户

发布于 2015-09-02 02:42:32

该文档说明了以下内容

使用带有依赖项的JAR作为您的程序集插件配置的descriptorRef,以便创建一个JAR,其中包含项目的二进制输出,以及它的解压缩的依赖项。

因此,jar-with-dependencies创建了一个单独的JAR,它将包含项目的所有类文件以及依赖项的所有未打包的类文件。

我猜,"jarjar“指的是类似于Spring Boot Maven plugin does的东西:它也创建一个单独的JAR文件,但是依赖项包含在它们的原始JAR文件中,而不是解压。与汇编插件方法不同的是,这需要一个自定义的类加载器。

但是,您可能应该在Maven mailing list上问这个问题。我刚刚这样做了,如果我得到任何新的信息,我会更新这个答案。

更新

  • In发现了网页的这一特定部分(包括TODO) was added over 10 years ago。显然,自那以后,待办事项就没有改变过。
票数 1
EN

Stack Overflow用户

发布于 2015-09-01 23:50:28

我怀疑这指的是jarjar格式,它重新打包Java库并将它们嵌入到您自己的发行版中,从而不允许依赖。

请参阅:jarjar

在示例文件的上下文中,该示例文件包含:

代码语言:javascript
复制
<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.3" 
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.3 http://maven.apache.org/xsd/assembly-1.1.3.xsd">
  <!-- TODO: a jarjar format would be better -->
  <id>jar-with-dependencies</id>
  <formats>
    <format>jar</format>
  </formats>
  <includeBaseDirectory>false</includeBaseDirectory>
  <dependencySets>
    <dependencySet>
      <outputDirectory>/</outputDirectory>
      <useProjectArtifact>true</useProjectArtifact>
      <unpack>true</unpack>
      <scope>runtime</scope>
    </dependencySet>
  </dependencySets>
</assembly>

我认为todo是为了表明这种特定的方法是如何完成的,但jarjar会更好。也就是说,“这是你怎么做的,但你应该用另一种方式来做”。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32319304

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档