问题标签 [maven-resources-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 投票
0 回答
76 浏览

java - Maven 编译阶段绑定插件运行到后期。

我配置了两个 Maven 插件。一,exec-maven-plugin,绑定到编译阶段。另一个,maven-resources-plugin,绑定到 prepare-package 阶段。我需要 exec 在资源之前运行,我认为这应该可以工作,因为编译阶段在构建生命周期中的 prepare-package 阶段之前。我肯定错过了什么。

以下是两种配置:

和:

为什么这些执行不正常?

0 投票
3 回答
2799 浏览

java - Maven 原型 - 由于冒号导致的速度错误

由于其中一个资源中存在冒号字符 (':'),我无法创建 Maven 原型。我有一个包含该符号的 Spring XML:

启动原型时出现此错误:

我尝试在原型的 pom 中配置转义字符:

但是它仍然不起作用。在这种情况下:

错误如下:

关于如何逃脱那个冒号的任何想法?

0 投票
1 回答
943 浏览

java - getClassLoader().getResource("Configuration.xml").getPath() 在 jar 中不起作用

我创建了一个基于 maven 的 java 项目,该项目具有资源目录 (src/java/resources),其中一些 xml 文件和 maven 将它们复制到 target/classes/resources (target/classes 是我的类路径)。

要了解 xml 文件的内容,我使用:

Main.class.getClassLoader().getResource("Configuration.xml").getPath() 为我提供了 xml 的完整路径:“c:\project...\Configuration.xml”。

这在 intellij 上效果很好。

但是当我将项目编译并打包成一个 jar 文件时,我得到:

那是因为路径:\C:\project\target\project-12.50.14-SNAPSHOT-jar-with-dependencies .jar!\Configuration.xml 不能作为 FileInputStream() 的参数。

我无法将 getResource() 替换为 getResourceAsStream()。

我需要一种方法来调整我的 jar 和资源,使其像在 intellij 上一样工作。我还在运行时更改了 xml 资源文件的内容,因此将它们保存在 jar 中是另一个问题。

谁能给我一个解决方案,我不必更改我的代码,而是更改我的资源目录结构,或更改类路径,或者其他可以让我的代码正常工作的东西?谢谢。

0 投票
2 回答
5626 浏览

maven - .gitignore 文件未复制到原型 JAR - 解决方法?

目前在 maven-resources-plugin 中存在一个错误,即 .gitignore 文件未复制到原型 JAR。请参阅此错误报告

简短而简单的问题:是否有在原型中获取文件的解决方法?

编辑:将 maven-resources-plugin 版本设置为 2.6 并不能解决我的问题(如此所述)

0 投票
2 回答
3460 浏览

maven - 使用配置文件属性进行 Maven 资源过滤

我有以下 pom.xml:

注意 上的activation元素profile被注释掉了

我也有以下内容src/main/java/application.properties

所以我希望 Maven 做的只是简单地替换${foo.bar}BazBat,除非开发配置文件被激活,那么我希望 Maven 替换${foo.bar}Development

当我运行mvn package时,它将值设置为BazBat. 很好,资源过滤按预期工作。

但是,当我运行时mvn package -P Development,它将值设置为BazBat

为了进一步混淆,如果取消注释activation配置文件上的元素并运行mvn package它将设置${foo.bar}Development

我什至让它输出活动的配置文件名称,在上面的两种情况下,它都说开发配置文件是活动的,但是如果没有设置标志mvn help:active-profiles package,过滤仍然不起作用。activeByDefault

总结一下:

  • 如果配置文件是,Maven 会使用配置文件中的值正确覆盖属性activeByDefault
  • 如果我通过命令行开关激活配置文件,Maven 不会覆盖该属性

到底是怎么回事?

我的环境:

更新: 我已经升级到最新的 maven (3.3.3) - 问题仍然存在。我的新环境:

0 投票
1 回答
392 浏览

maven - maven-resources-plugin 的执行说明

我从另一个开发人员那里继承了一个项目,其中有一点pom.xml我不太明白。如下:

有人可以阐明它正在尝试做什么吗?我认为这是在说“在运行任何生成资源阶段时进行过滤”。这个对吗?

0 投票
1 回答
2471 浏览

maven - Maven 资源过滤 - 明确指定哪些文件需要属性注入

Maven 资源插件是否允许在注入 Maven 配置文件属性期间灵活地排除某些文件?

  • 我不想从程序集中排除文件,只是从注入阶段。

我正在处理的项目在 Settings.xml 中为每个部署环境定义了唯一的 Maven 配置文件(和相应的属性)。构建项目时,会发生以下步骤

  • 项目 POM 将资源文件夹定义为应用资源过滤的目标
  • 资源文件夹包含 .XML 和 .PROPERTIES 文件
  • 在 mvn:deploy 期间,Maven 按预期将 Profile 属性注入 .PROPERTIES 文件
  • Maven 还将 Profile 属性注入到 .XML 文件中。这不是期望的行为(这些文件包含允许项目在部署应用程序期间灵活地注入值的占位符)

资源插件提供了配置选项来定义包含和排除选项,但是选择排除选项也会从程序集文件夹中排除指定的文件,这是不需要的。

是否可以告诉 Maven 哪些文件应该替换占位符?

0 投票
4 回答
5394 浏览

maven - Maven 构建未过滤 Intellij 中的属性

我遇到一个问题,当我通过 Intellij 15.0.2 的 Maven 构建运行时,Maven 资源插件没有将我的属性过滤到我的文件中。当我mvn compile从 Windows 命令行运行时,它确实有效。我的插件配置是:

0 投票
1 回答
22 浏览

maven - Maven 资源插件从不同的路径公开图像

我有一个可从/resources/gfx/loading.gif访问的图像

我想从 /img/image.gif访问它

我尝试使用具有以下配置的maven-resources-plugin ,但实际上没有任何反应。

我正在从 Eclipse 构建应用程序。

0 投票
1 回答
1690 浏览

java - 使用 maven-resources-plugin 过滤时如何阻止反斜杠被转义?

我想使用 Maven 资源插件在 XML 资源文件中设置 XML 模式位置:

除了一件事之外,这有效 - 替换路径具有双反斜杠而不是单个黑斜杠,例如:

所以两个问题:

  1. 这是指定 XSD 文件的有效格式吗?
  2. 有没有办法告诉 Maven 使用单个反斜杠而不是双反斜杠?

环境变量myxsdpathC:\mypath\myschema.xsd. 除了指定打开过滤时要包含的maven-resources-plugin文件之外,没有任何特殊配置。