问题标签 [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.
java - Maven 编译阶段绑定插件运行到后期。
我配置了两个 Maven 插件。一,exec-maven-plugin,绑定到编译阶段。另一个,maven-resources-plugin,绑定到 prepare-package 阶段。我需要 exec 在资源之前运行,我认为这应该可以工作,因为编译阶段在构建生命周期中的 prepare-package 阶段之前。我肯定错过了什么。
以下是两种配置:
和:
为什么这些执行不正常?
java - Maven 原型 - 由于冒号导致的速度错误
由于其中一个资源中存在冒号字符 (':'),我无法创建 Maven 原型。我有一个包含该符号的 Spring XML:
启动原型时出现此错误:
我尝试在原型的 pom 中配置转义字符:
但是它仍然不起作用。在这种情况下:
错误如下:
关于如何逃脱那个冒号的任何想法?
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 中是另一个问题。
谁能给我一个解决方案,我不必更改我的代码,而是更改我的资源目录结构,或更改类路径,或者其他可以让我的代码正常工作的东西?谢谢。
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) - 问题仍然存在。我的新环境:
maven - maven-resources-plugin 的执行说明
我从另一个开发人员那里继承了一个项目,其中有一点pom.xml
我不太明白。如下:
有人可以阐明它正在尝试做什么吗?我认为这是在说“在运行任何生成资源阶段时进行过滤”。这个对吗?
maven - Maven 资源过滤 - 明确指定哪些文件需要属性注入
Maven 资源插件是否允许在注入 Maven 配置文件属性期间灵活地排除某些文件?
- 我不想从程序集中排除文件,只是从注入阶段。
我正在处理的项目在 Settings.xml 中为每个部署环境定义了唯一的 Maven 配置文件(和相应的属性)。构建项目时,会发生以下步骤
- 项目 POM 将资源文件夹定义为应用资源过滤的目标
- 资源文件夹包含 .XML 和 .PROPERTIES 文件
- 在 mvn:deploy 期间,Maven 按预期将 Profile 属性注入 .PROPERTIES 文件
- Maven 还将 Profile 属性注入到 .XML 文件中。这不是期望的行为(这些文件包含允许项目在部署应用程序期间灵活地注入值的占位符)
资源插件提供了配置选项来定义包含和排除选项,但是选择排除选项也会从程序集文件夹中排除指定的文件,这是不需要的。
是否可以告诉 Maven 哪些文件应该替换占位符?
maven - Maven 构建未过滤 Intellij 中的属性
我遇到一个问题,当我通过 Intellij 15.0.2 的 Maven 构建运行时,Maven 资源插件没有将我的属性过滤到我的文件中。当我mvn compile
从 Windows 命令行运行时,它确实有效。我的插件配置是:
maven - Maven 资源插件从不同的路径公开图像
我有一个可从/resources/gfx/loading.gif访问的图像
我想从 /img/image.gif访问它
我尝试使用具有以下配置的maven-resources-plugin ,但实际上没有任何反应。
我正在从 Eclipse 构建应用程序。
java - 使用 maven-resources-plugin 过滤时如何阻止反斜杠被转义?
我想使用 Maven 资源插件在 XML 资源文件中设置 XML 模式位置:
除了一件事之外,这有效 - 替换路径具有双反斜杠而不是单个黑斜杠,例如:
所以两个问题:
- 这是指定 XSD 文件的有效格式吗?
- 有没有办法告诉 Maven 使用单个反斜杠而不是双反斜杠?
环境变量myxsdpath
是C:\mypath\myschema.xsd
. 除了指定打开过滤时要包含的maven-resources-plugin
文件之外,没有任何特殊配置。