Maven 如何与 TAR 集成?

How does Maven integrate with TAR?

我想知道 Maven 如何与 TAR 集成:它是简单地调出 OS 的 TAR 的本机版本,还是在它的“/lib”Jars 在某处,或者它在内部使用 JTar 还是其他?

拜托,拜托 不要 post 猜测或猜测的回复 - 我已经做了 很多 的猜测和猜测,我已经尝试排除了一些可能性。例如,我重命名了 OS-X "tar" 和 "bsdtar" 可执行文件,但 Maven 仍然可以执行汇编阶段,所以我推测 Maven 可能没有调用 OS tar “/usr/bin”中的实用程序。

因此,作为最后一搏,我希望知道的人能给我一个可靠、明确的答案;但没有答案胜过一打猜测。

我问的原因并不重要,只会让不回答问题的人 post 切线 'answers'。我在 Maven 文档或任何论坛上都找不到明确的答案。

此外,我不需要知道如何使用 Maven 制作 tar 或 gzip 文件。我知道 如何告诉 Maven 这样做。我不知道 Maven 是如何内部实现 来生成 Tar 文件格式的,我需要找出答案。

不,TAR 文件的创建不是使用 Linux TAR 实用程序完成的。它由代码本身完成,使用 Apache Commons Compress.

要创建 TAR 文件,您可以使用 maven-assembly-plugintar 格式。此插件将存档的创建委托给 plexus-archiver,它本身使用 Apache Commons Compress 来创建存档。这个库实现了整个 API 来处理档案,它不依赖于 OS 实用程序。

请注意,这并非特定于 TAR 文件。对于其他类型的存档也是如此,例如 ZIP。

相关源码: