问题标签 [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 回答
11146 浏览

maven-2 - 自定义 maven 组件

我开始使用 Maven,但还没有成功地用 Maven 的术语进行思考。我有一个特定的要求,文档没有给我足够的线索,所以我可以使用一些帮助:

我想创建一个程序集

  1. 构建一个jar-with-dependencies类似此名称的“标准”目标,但不包括一些资源。我希望log4j.properties和其他几个配置文件不在jar 中。

  2. .ZIP在其根目录中构建一个包含.jar步骤 1 以及上述配置文件的文件。

我想从命令行启动这个程序集(仅),因此不需要绑定到一个阶段(或目标?mojo?)。最好使用assembly:assemblyassembly:single

  • 我需要一个自定义程序集描述符吗?
  • 我不能将它嵌套在 中是真的pom.xml吗?所以它进入src/assembly/something.xml并被引用descriptorRef
  • 我可以将它编码为两个相对简单的程序集,其中一个构建在另一个上(即 .Zip 程序集使用 .Jar 程序集)还是我必须在一个程序集中完成所有事情?
0 投票
2 回答
10190 浏览

java - 如何强制 maven 针对 1.5 打包我的项目?

我正在尝试编译一个 maven 项目,源代码使用 Java 1.5 的泛型和其他功能,从而导致我的构建失败

在我的POM.xml我已经为源和目标属性配置了针对 1.5 的构建配置,但这并不能解决我的问题

我是POM.xml正确的,还是我错过了什么?

谢谢

尝试构建时的输出

0 投票
12 回答
85928 浏览

java - 使用 maven 将版本号输出到文本文件

我想生成一个 zip 文件,该文件将使用 maven 更新应用程序。zip 将托管在服务器上,我正在使用程序集插件生成 zip。但是我希望 maven 自动生成一个文本文件,该文件将当前版本号存储在 zip 之外。这怎么可能?

编辑:我使用 maven 程序集插件和两个描述符成功地创建了两个自定义程序集。一个有一个目录单一目标,它只是根据过滤创建一个包含更新的 version.txt 的文件夹。然后另一个有一个目标的实际上打包了 zip 文件。这似乎很不雅,我猜它不会用整个更新的文件夹正确更新 maven repo。如果有更好的方法来做到这一点,请告诉我。

0 投票
3 回答
50660 浏览

maven-2 - Maven:将依赖项与项目 JAR 一起打包?

我希望 Maven 将项目与其运行时依赖项一起打包。我希望它创建一个包含以下清单的 JAR 文件:

并创建以下目录结构:

意思是,我希望主 JAR 排除任何依赖项,并且希望将所有传递依赖项复制到“lib”子目录中。有任何想法吗?

0 投票
1 回答
1805 浏览

maven-2 - Maven插件执行顺序和排除js文件

我开发了pom.xml,先将项目中的所有js文件合并,然后压缩js文件。这两个步骤是两个插件,处于编译阶段。

但是有多少次 puglin 执行顺序被颠倒并且构建失败。如果有人看到此问题,请将我重定向到解决方案。

其次,我不会在 .war 中包含合并压缩的 JS。

0 投票
1 回答
2282 浏览

maven-2 - maven-assembly-plugin 导致测试运行两次

我有一个使用程序集插件的 Maven 项目。我通常通过运行创建我的工件: mvn clean verify assembly:assembly (我有集成测试,我想单独运行单元测试)。

当它运行时,程序集插件正在运行单元测试本身。这会导致它们运行两次。

有没有办法告诉程序集插件不要运行测试?我很想分两步运行它: 1. mvn clean verify 2. 如果上一个命令成功,运行 mvn assembly:assembly -DskipTests=true

但是,这有点笨拙,宁愿使用单个命令。

谢谢,史蒂文

0 投票
6 回答
67370 浏览

java - 从 Java 启动 Spring 应用程序的异常

我能够使用 Maven 编译并启动我的 Spring 项目:

maven-assembly-plugin但是,当我使用(包括)将所有 jar 组装在一个文件中时applicationContext.xml,我总是在执行Exception期间得到一个java

我还尝试将模式定义(即spring-context.xsd等)直接附加到类路径,但没有任何成功。

0 投票
1 回答
1536 浏览

file - maven:从创建的程序集中删除格式文件扩展名

我有一个 Maven2 项目,我在其中使用程序集插件。如果创建的程序集文件名不以格式扩展名结尾(例如“.zip”),一切都会好起来的。我在插件配置中指定了一个 fileName 参数并将 appendAssemblyId 设置为 false。我已经在这个问题上花了几个小时......知道吗?

0 投票
1 回答
1617 浏览

java - 如何使用 Maven 构建工件的多个配置(例如 WAR 等)?

由于我们当前一些应用程序的模块化特性,我们需要了解如何设置 Maven 以生成同一工件(在我们的示例中为 WAR 文件)的多个配置,以及两个部署级别(开发、测试、生产)的组合) 和本地化(gb、fr、es 等)?我们正在寻找类似的东西:

我们已经知道Maven '构建配置文件',它似乎符合部署环境标准,以及 ' maven-assembly-plugin ',它可能解决国家/国际化问题但是否可以将两者结合起来(即将法语资源文件集成到生产级构建中)?

我们当前目录结构的一个示例可能是:

例如,构建可能需要(一个)法语开发版本(fr/dev)或所有生产版本(gb-fr-es-etc/prod)。

我们是 Maven 的新手,并决定尝试它,因为预配置的 Maven 原型及其依赖管理提供了快速提升。到目前为止,我们一直使用 Ant 进行构建。

谢谢

理查德

0 投票
2 回答
2313 浏览

maven-2 - maven 程序集忽略依赖工件的 finalName

我有一个分层的 maven 项目,我试图从中为几个子模块构建一个本机安装程序。我使用我的产品名称作为前缀:<finalName>xyz-${artifactId}</finalName>在父 POM 中,以便我所有的工件 jar 都具有标准命名约定。

我需要将所有依赖的 jar 物化到一个目录中(因为 inno setup 对 maven 一无所知)。因此,对于作为安装程序的每个子模块,我计划使用 maven-assembly-plugin,然后在我的 inno 设置中使用类似以下内容:

当我运行时mvn clean package,我得到一个target/xyz-app1-bin/xyz-app1/lib包含所有依赖 jar 的目录,但是我的兄弟项目生成的所有 jar 都没有正确的最终名称(例如,我有util-0.0.1-SNAPSHOT.jar而不是xyz-util.jar

这个问题似乎与这篇文章类似,但我不知道“附加”是什么(可能已弃用)。