问题标签 [maven-assembly-plugin]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
2373 浏览

maven-2 - maven多模块组装

我有一个多模块 Maven 项目,我正在尝试为该项目创建一个程序集。程序集应该是一个 zip 文件,包括来自依赖项目的所有 jar 以及来自这些项目的所有资源(这是出于遗留支持的原因 - 我知道这不是一个好的做法,但在这种情况下,我们真的无能为力)。

我有一个程序集,它构建一个 zip 并包含构建输出目录的内容(它将获取资源)。如果我从父 pom 运行它,它实际上并没有构建一个 zip(可能是因为父项目的类型是 pom,而不是 jar)。如果我从单个项目之一运行程序集,它确实包含 jar 和所有依赖项(我指定包括依赖项)。它包括该项目的输出目录,但不包括子项目。

我是否需要做一些事情,比如从父项目运行一个程序集,迭代子项目并运行它们的程序集(每个子项目的程序集都是相同的——它将包括 jar、依赖项和输出目录)? 我什至不确定这是可能的......任何指导将不胜感激。

0 投票
6 回答
13627 浏览

maven-2 - Maven - 资源过滤:资源文件中@符号的含义

我正在使用 Maven 程序集插件为不同的环境准备一些配置工件,并且我正在使用资源过滤来替换参数值。

我遇到了一个奇怪的行为,我有一个属性文件,其内容如下:


###########################

# author.name@company.com #

############################

env.name=${replacement.value}


作者电子邮件的“@”符号的存在导致所有属性引用都被忽略。

我已经尝试寻找有关为什么会发生这种情况的文档 - 但找不到任何可以回答这种行为的东西。任何对文档或解释有用的指针将不胜感激。

以供参考:

  1. Maven版本:2.2.1
  2. Maven 程序集插件版本:2.2
0 投票
1 回答
1840 浏览

java - Maven 战争插件无法排除爆炸战争格式的库

我正在使用 maven war 插件来排除一些常见的 jar 并将它们放在类路径中。我能够正确生成排除指定库的war文件并将它们添加到类路径中,但展开的war目录仍然包含排除的库。如何生成使用 Maven 战争插件配置的爆炸战争文件。

0 投票
4 回答
431 浏览

java - 程序集总是执行带有依赖项的 jar

嗨,我创建了一个程序集来压缩项目的图像,并将它连接到我的 pom 文件中的 package 阶段,这里的问题是当我执行“clean compile package”时,它正在创建我需要的 zip 文件以及一个文件 -jar- with-dependencies.jar 我不想创建。我怎样才能抑制生成这个jar文件

这是我的pom

装配文件 cat_image_resources_assembly.xml

它正在生成以下文件

CATImageExport2-1.0-SNAPSHOT-cat_image_resources.zip(需要 5mb),CATImageExport2-1.0-SNAPSHOT-jar-with-dependencies.jar(58mb 这是我想要排除生成的依赖项)

0 投票
4 回答
9971 浏览

maven-2 - 如何在 Maven 中为输出工件加时间戳?

我试图找出 Maven 是否有一些可用于为工件加时间戳的内置插件。我创建了一个程序集文件,并使用 maven-assembly 插件来创建最终发行版(jar、文档、脚本等)。我想将此分发文件命名为 domain_year_month_day.zip。如何将时间戳的日期部分附加到正在生成的最终 zip 文件的末尾。谢谢。

0 投票
2 回答
16348 浏览

maven-2 - 禁用 default-jar 执行

我正在使用 Maven Assembly 插件来打包一个 jar 文件。

但是当我运行时mvn package,maven 总是触发 [jar:jar {execution: default-jar}] 来创建一个默认的 jar 文件。

所以我将有 2 个 jar 文件(一个由 Assembly 插件创建,一个由我不想创建的 Maven jar 创建)。

如何关闭 default-jar 执行?

在我的pom.xml中,我正在使用:<packaging>jar</packaging>

我不想将其更改为<packaging>pom</packaging>.

0 投票
1 回答
1323 浏览

maven-2 - Maven 多模块项目和 unix/lf lineEnding 问题

我对 Maven 很陌生,遇到了一个我无法弄清楚的问题。我有一个多模块项目设置。在其中一个子模块中,我有一些 Unix bash 脚本。在我的程序集文件中,我想构建一个 zip 文件,其中包含我的所有 Unix 脚本,行尾为“unix”或“lf”。当我在子模块级别打包我的应用程序时,每件事都按预期工作(脚本确实有正确的 Unix 行结尾)。但是,当我在主项目级别打包我的应用程序时,脚本不会以 Unix 行结尾结束。这个问题有解决方案吗?谢谢。

这是我的程序集文件的示例片段:(在子模块级别为我的一个子模块定义)

0 投票
3 回答
504 浏览

java - 如何使用 Maven 创建跨项目源代码发布

我有一个项目需要发布源代码。我遇到的问题是我需要为我们开发的所有代码创建一个源代码版本。代码跨多个项目,但我想利用 maven,以便只发布我们实际使用的 jar 的源代码。

例如:

  • 核心代码项目(多模块maven项目)
  • web 应用程序项目(多模块 maven 项目)。包含我们的应用程序模块以及一些支持的 jar 模块。取决于核心代码项目中的一些 jars。

现在我想发布 Web 应用程序项目的所有源代码,但只发布 Web 应用程序使用的核心代码项目的源代码。

我可以用 Maven 做到这一点吗?

我有一种感觉,可以使用程序集插件和源插件,但我不清楚如何将它们组合在一起。

0 投票
1 回答
1892 浏览

maven - Maven 预定义的“bin”程序集不起作用?

我有一个项目使用 maven-assembly-plugin 创建源和二进制 tar 和 zip 文件以供下载。但是,每当我尝试构建 bin 程序集时,它都会失败并显示“tar 文件无法包含自身”的错误。

我可以通过使用 maven-archetype-plugin 创建的最小 Maven 项目重现此问题,并将以下内容添加到 pom.xml:

有了这个插件声明,如果我执行“mvn site”或“mvn assembly:assembly”,我就会收到上述错误消息。

有谁知道为什么这不起作用?

我很乐意提供帮助诊断问题所需的任何其他信息。

0 投票
1 回答
2005 浏览

maven - Maven 程序集:带有附加资源的 zip 文件

我有一个由耳朵、一些 XSLT 文件、RNC 模式文件组成的项目。我想将 XSLT、模式和文档文件保留在外部(用于热替换),并且我想在发布时将所有内容打包成一个 zip。让我们将项目命名为“foo”。我有以下模块:

  • foo(父母)
  • foo-jar创建一个 jar 文件(使用 mbeans)
  • foo-war创建战争文件
  • foo-ear创建ear文件,依赖jar和war

这一切正常,但这是我的问题:

  • XSLT、模式和文档文件在哪里?一个单独的模块?在父项目内部?
  • 如何以及在何处创建一个将 ear 文件和 XSLT 和模式目录捆绑在 zip 中的程序集?