问题标签 [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.
maven-2 - 如何在全新安装时将多个 jar 文件发布到 Maven
我有一个使用 maven 程序集插件从一个 jar 创建多个 jar 现在问题是我必须将这些 jar 发布到本地 repo,就像其他 maven jar 在构建时由他们自己发布 maven clean install 我将如何能够做到这一点
这是我的 pom 文件
这是我的汇编文件
java - Maven - 聚合的“全部”或“父”项目?
出于教育目的,我设置了一个像这样的项目布局(为了更好地适应 eclipse):
Parent 包含一个带有 core、opt 和 all 的聚合项目。核心实现了应用程序的强制部分。Opt 是可选部分。All 应该将 core 与 opt 结合起来,并将这两个模块列为依赖项。
我现在正在尝试制作以下工件:
- 产品-core.jar
- 产品核心src.jar
- product-core-with-dependencies.jar
- 产品-opt.jar
- 产品-opt-src.jar
- product-opt-with-dependencies.jar
- 产品-all.jar
- 产品-all-src.jar
- product-all-with-dependencies.jar
它们中的大多数都相当容易生产。不过,我确实对聚合工件有一些问题。我已经设法在“all”模块中使用自定义程序集描述符制作了 product-all-src.jar,该模块下载了所有非传递 deps 的源代码,并且效果很好。这种技术还允许我制作 product-all-with-dependencies.jar。
然而,我最近发现你可以在源插件中使用 source:aggregate 目标来聚合整个聚合项目的源。对于 javadoc 插件也是如此,它也通过父项目的使用进行聚合。
所以我在我的“所有”模块方法和放弃“所有”模块之间,只使用“父”模块进行所有聚合。在 'parent' 中产生一些聚合工件,而在 'all' 中产生其他工件感觉不干净。有没有办法在父项目中制作“product-all”jar,或者在“all”项目中聚合 javadoc?还是我应该两个都保留?
谢谢
maven-2 - 自定义程序集描述符以创建具有依赖项的 jar
我想从一个用 Maven 制作的项目生成一个 .jar 应用程序。
我在 Eclipse 中工作,我做了:run as/Maven assembly:assembly
这是错误消息:
这是我的assamble.xml
我想我必须包括其他东西来添加 muy 项目的依赖项,但我不知道该怎么做!建议??
更新:在我的 assembly.xml 下面
我在哪里可以找到我的 maven-assembly-plugin 配置?
我尝试了你告诉我的两个选项:
- 使用预定义的 assembly.xml
- 插入插件
我有同样的结果:s
maven-2 - 自从切换到我的程序集中的奇怪文件Unix
由于我已将该选项插入<lineEnding>unix</lineEnding>
到我的 Maven 程序集插件配置中的文件集和文件中,因此奇怪的文件被放置在我的 tar.xml 文件中。
它们如下所示:
你知道为什么会发生这种情况吗?
maven-2 - Maven2 程序集插件 - 更改 tar.gz 的根名称
我正在使用程序集插件来 tar.gz 打包一个包。我正在尝试将根输出目录从 ${project.name}-{$project.version} 更改为 ${project.name},但似乎无法在任何地方找到配置选项。有谁知道这是否可能?
maven-2 - 程序集中不包含依赖范围的“编译”
我在项目的 POM 中指定了以下依赖项:
我的项目本身必须是另一个 POM 的子项。在那一个中,定义了以下内容:
当我现在组装我的程序时,似乎父 POM 的“提供”范围覆盖了我的项目的范围,因为jbossall-client.jar
它不包含在我的程序集中。虽然对我来说似乎不合逻辑,但也许是这个功能在这里生效。
你知道一种在我的程序集中包含依赖项而不接触父 POM 的方法吗?
编辑:(mvn dependency-tree
更新!)
的输出:
编辑 2:这里是我的程序集 XML 的依赖部分。
编辑 3:这是我获得的程序集的lib文件夹中的文件。
编辑 4:有关此问题的答案,请参阅正确答案的最终评论。
maven-2 - Maven、程序集插件、多模块项目和模块依赖
我正在构建一个多模块 Maven 项目,其主要产品是 WAR 文件,并且我正在尝试将该文件与相关的发布相关工件(README、发布说明、许可证文件等)组合成一个 ZIP分配。但是当我尝试构建分发文件时,它失败了。我究竟做错了什么?请注意,在要求模块构建分发文件时,我已经检查过该foo-bar.1.0.war
工件是否存在;foo-distribution
我知道将所有内容都放在foo
的 POM 中是行不通的。(我有一个解决方法;我可以使用相对路径直接指向相对于foo-distribution
模块根分布的文件的位置。这不是我喜欢的解决方案,因为它的代码味道很差。)
另请注意,我总是从根项目构建,并且我assembly:single
在分发构建器中使用(如 Maven 文档中所建议的那样)。
项目布局
foo
有包装,foo-distribution
有包装。(实际代码中还有其他模块,但它们在模块之前也是正确构造的。)pom
foo-bar
war
foo-distribution
富POM
foo 分发 POM
dist.xml
解决方法 dist.xml
这是我上面提到的解决方法。它准确地产生了我想要的工件。
maven-2 - 使用 Maven 创建 tar.gz 存档
我有一个 Maven 项目,在 src/main 目录下有一个名为 output 的子目录。这个文件夹需要打包成tar.gz。使用汇编插件时如下:
从 pom.xml:
程序集.xml:
我的问题是我正在尝试的结果将是运行 tar 实用程序本身,这意味着在提取以获取输出目录及其所有内容时。我得到的是包含所有项目路径的输出文件夹 - name/src/main/output。
java - Maven Assembly Plugin 上传的参考工件
我们已经配置了我们的 Maven 程序集插件来创建单独的 jars 文件,这些文件通过部署插件上传到我们的本地 Maven 存储库。
但是,我们需要在其他项目中引用这些 jar 文件(由程序集插件创建的那些)作为 maven 依赖项。任何关于我们如何实现这一目标的想法都将不胜感激。
更新例如:
这被 maven 程序集插件分成 3 个不同的 jar 文件,并发布到我们的本地 repo:
我们如何引用 client-authentication.jar 作为另一个项目的依赖项而没有它自己的 pom 文件?
maven-2 - 构建装配时许多“META-INF/已添加,正在跳过”警告
当使用程序集插件构建一个 jar-with-dependencies 时,我收到很多很多这样的消息:
看来,maven 正在警告我,我的待创建 jar 中已经有一个 META-INF,因此待包含的依赖 jar 文件的 META-INF 不包含在我的 to -被创建的罐子。嗯,这正是我想要的,我想摆脱那些消息。有没有办法做到这一点?
问候,马丁。