问题标签 [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 投票
2 回答
531 浏览

maven-2 - Maven 发布期间对其他程序集的模块间依赖关系

我们有一个包含以下模块的多模块项目:

  • 数据库
  • 持久性
  • 商业
  • 应用

“数据库”项目是一个 jar 项目,它使用“maven-assembly-plugin”创建附加程序集。此附加程序集包含数据库架构。

插件配置如下:

“应用程序”项目创建应用程序目录结构的压缩版本。因此,它引用模式程序集以便将其提取并复制到应用程序目录结构中的适当位置。引用表示为普通的maven依赖:

至少有一个多模块项目,它聚合了 4 个子模块,以便一步构建应用程序。

在聚合项目上运行“mvn deploy”可以正常工作。提取并复制数据库模式程序集。但是,当在构建“应用程序”项目的聚合项目上运行“mvn release:prepare”时,会出现错误通知,即 maven 无法找到版本为“0.0.1”的模式程序集。日志文件指出“持久性”项目已在“应用程序”项目之前构建,并且“数据库模式”程序集已构建。

有人知道我做错了什么吗?

0 投票
1 回答
4094 浏览

maven - Maven:使用程序集作为结果工件 - appendAssemblyId == false?

我有一个多模块项目。

最后一个模块是“assemble”,它旨在将几个模块的 .jar 放在一个大 .jar 中,我可以将其用于分发。这个模块什么都不做,所以我这样做了:

我希望这种行为能够简单地从 IDE (NetBeans 7.0) 运行生成的 jar。

Maven 完全符合我的要求,但这样说:

此消息似乎不是实现我的目标的推荐方式。有没有更好的?

0 投票
3 回答
3425 浏览

maven - 如何使用 Maven 程序集插件过滤 Shell 脚本

我正在尝试使用 maven 程序集插件过滤我的 shell 脚本。其他属性和 xml 文件正在正确过滤。但是,我在 shell 脚本的日志中收到以下消息。

相关的程序集描述符。

这是在日志中不过滤上述脚本的消息。 file buildcron.csh has a filtered file extension. 有没有办法改变这种默认行为?

PS:我看到 txt 文件有类似的行为。

编辑:这是从 POM.xml 使用的插件

谢谢, 普拉布约特

0 投票
3 回答
406 浏览

maven - Maven 存储库存档,包括构建/插件依赖项

我的客户希望能够从源代码构建我们的项目,但不希望连接到 Internet 以获取构建的任何依赖项。请注意,这将包括插件依赖项。

我的建议是,我们为客户提供一个存档,其中包含正确 Maven 存储库文件结构中的所有依赖项,包括校验和和元信息。然后,他们可以将其用作内部 Maven 存储库。

我已经配置了 maven-assembly-plugin 来创建这样的存档,但是它不包括他们的 Maven 执行构建所需的所有构建/插件依赖项。

有谁知道在存档中包含构建时间依赖项的方法,或者可以建议另一种方法来获取这些依赖项并将它们包装在正确的结构中。

非常感谢,帕特

0 投票
1 回答
623 浏览

maven - Maven-assembly-plugin 和增量构建

似乎组装插件(或 jar/war 插件)只是愚蠢的。他们只是无法弄清楚什么时候无事可做。

如果其所有依赖项都比目标旧,则基本的“Makefile”不会重新编译目标。

对于 maven 来说,似乎“一直”都在打包!如果我执行“mvn package”然后执行“mvn integration-test”,Maven 将一次又一次地处理这些包。因为我建立了一些独立的罐子:这需要一段时间!

它也是适合您的方式,还是我的配置中有问题。

提前感谢您的帮助,
拉斐尔

0 投票
2 回答
104 浏览

maven - 多个组装结果

我需要保持在工件过程中创建的状态。所以我有了将这些状态捆绑到一个自己的 zip 并在准备阶段解包的想法。另外也应是实际部署的结果。此结果是创建文件的捆绑包,在下一个工件中很有价值。

我正在尝试创建两个结果 zip,但在部署期间,第二个程序集名称被忽略,并且始终部署 myArtifact-version.zip。

怎么了?

在此先感谢,斯文

我的 pom 看起来像:

组件是:

生成结果.xml:

bundle-gen-status.xml

0 投票
1 回答
3095 浏览

maven - maven 程序集插件过滤一些文件,但不过滤其他文件

我有一个项目正在 Linux 上构建,但需要在 Windows 上运行脚本。所以我生成了用于在 windows 下启动服务器的批处理文件。这些需要引用版本化的 jar。我还用版本标记 README 文件,${project.version}以便用户可以轻松查看该文件属于哪个版本。

所以我创建了一个程序集描述符:

README文件中有一行

start-server.cmd我有

并在mvn assembly:assembly解压缩生成的工件之后

我在自述文件中找到:

并在 start-server.cmd

我完全不知道为什么它在一个文件中而不是在另一个文件中被替换。

0 投票
1 回答
485 浏览

maven - 如何在过滤的文件中访问程序集的 ID?

我有多个程序集,如下所示:

我还有一个文件,该文件包含在我想要包含 id 的所有程序集中(在本例中为 component-000)。

... component-id:${id} ...

我已经尝试过 ${assembler.id}、${assembly.id} ${id} 等,所有这些都产生了各种失败。有什么想法吗?也相关,如果有人知道如何潜在地转储/打印可用属性?

0 投票
2 回答
20792 浏览

spring - 避免在单个 jar 中合并多个 spring 依赖项时覆盖 spring.handlers/spring.schemas 的想法

我在Unable to locate NamespaceHandler when using context:annotation-config运行(java -jar)一个由 maven-assembly-plugin 组装并包含我的项目及其所有依赖项的 jar 时出错。

正如其他人在 forum.springsource.org线程(消息 #7/8)上正确发现的那样,出现问题是因为存在于不同 jar 中的文件META-INF/spring.handlersMETA-INF/spring.schemasmaven-assembly-plugin 将 jar 重新打包到单个文件中时被覆盖.

查看两个 spring-*.jar 文件的内容,您可以看到这些文件相对于类路径位于相同的位置

是不是可以将 META-INF 文件夹放在特定的包中?如果是这样,我建议的想法(希望它适用)是将META-INF/spring.shemasandMETA-INF/spring.handlers文件放在它们所指的包下。

这样它们在合并到一个 jar 中时不会发生冲突。你怎么看待这件事?

0 投票
4 回答
23232 浏览

java - 将属性文件与 Maven 程序集合并

我对 Maven 程序集插件有疑问。

我有一个使用几个罐子的 Maven 项目。每个 jar 都包含配置文件。在另一个项目中,我使用 maven 组装插件将所有配置组装到唯一的 jar 中。

一切正常,但不幸的是,两个文件同名,第二个文件覆盖第一个文件。

我没有实现告诉 maven 合并两个文件而不是覆盖。

有人知道该怎么做吗?

谢谢。