问题标签 [build-helper-maven-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 回答
692 浏览

java - Maven 额外来源通配符

我正在向我的 Maven 项目添加一些额外的资源,直到现在一切都运行良好。我只是想让额外的源选择更通用一点,因为今天我有类似的东西:

我想这样做:

那是因为一些开发人员没有他们工作空间下的所有插件,我不想pom.xml在每个开发环境中修改我的。

不幸的是,该模式不起作用- 至少在 Eclipse 中 -因为文件夹未标记为source。我做了一些研究,发现 Maven 使用了Ant 模式,但它不起作用。

您能否告诉我是否可以在<sources>定义中使用该约定?

0 投票
2 回答
1133 浏览

maven - 构建助手 Maven 插件属性不适用于资源 targetPath

我正在使用Build Helper Maven Plugin来构造一个属性,该属性是带有“-”代表“。”的版本......我将其配置如下:

当我构建包含该${webscript.version}属性的资源时,这很好用(它们在文件中按预期正确替换),所以这是有效的:

但是,我遇到的问题是在项目中的其他任何地方使用该属性......我想要做的是将该属性用于目标文件夹,如下所示:

使用此代码,创建的文件夹只是“${webscript.version}”而不是“1-0-66”(在当前版本为 1.0.66 的情况下)。

工作和不工作的例子都在同一个<build>元素中,所以我假设它们处于同一阶段。

有人可以建议我如何调整配置以使其正常工作,或者建议一种替代方法来替换“。” 将“-”作为在这种情况下有效的新属性?

0 投票
1 回答
333 浏览

regex - 在 build-helper:regex-property 中禁用转义替换值

我想根据正则表达式替换 Maven 中的属性。为此,我正在使用该regex-property插件。属性将包含以空格分隔的条目,我需要从每个条目创建一个 xml“节点”。

替换后的属性应稍后用于复制给定的工件:

我有一些几乎可以工作的东西:

但这里的问题是,它replacement在途中的某个地方逃脱了。因此生成的属性将包含<fileset dir\="C\:\\some\\entry" includes\="*.myext" />,这是不希望的。

这种方法确实看起来很老套,但我找不到任何其他方法可以让我从属性中指定的目录中复制文件。

0 投票
0 回答
251 浏览

maven - 为什么 build-helper-maven-plugin 不能将属性传递给 javafx-maven-plugin?

我目前正在尝试部署 javafx 本机捆绑包。虽然这基本上可以正常工作,但它不会部署到<nativeOutputDir>使用 build-helper-maven-plugin 及其 regex-property 目标的构造属性给定的任何位置。

这是我的pom:

现在,当我仅使用 Maven 属性标签传递属性时,nativeInstaller 将被部署到正确的位置。

虽然这可能与 [问题] 相关:(Maven build-helper-maven-plugin 正则表达式无法使用属性作为 dependency.version)。在我看来,这个问题不支持答案。替换发生的阶段是“验证”,而 javafx-maven-plugin 构建捆绑包的阶段是“包”,因此顺序应该是正确的。我使用 antrun-plugin 进行测试,以查看是否创建了该属性,并且确实如此。有趣的事实:当我在类似之后添加一些东西${replaced.deployDir}时,<nativeOutputDir><nativeOutputDir>${replaced.deployDir}\\test</nativeOutputDir>会部署到projectname\target\${replaced.deployDir}\test创建未解析的${replaced.deployDir}文件夹。

任何帮助表示赞赏。

0 投票
3 回答
548 浏览

java - Use release or snapshot repository for manual deployment depending on the project version

I want to configure a manual file deployment to a remote repository using either the snapshot repository (using configured property project.distributionManagement.snapshotRepository.url) if the current version of the project is a snapshot version or to the release repository (using configured property project.distributionManagement.repository.url) otherwise.

I want to deploy a swagger json schema to the repository and I did not find any way other than a manual deployment.

0 投票
0 回答
80 浏览

java - 为什么在 features.xml 文件上不会发生属性过滤,除非打包是捆绑包?

我设法找到了解决问题的方法,但我想了解为什么我必须做我所做的事情,以及任何其他相关背景。

我正在开发一个生成 OSGi 包的 Maven 多项目构建,整个构建中有大约 48 个项目。

其中一些具有“src/main/resources/features.xml”文件,以及对“attach-artifact”目标的“build-helper-plugin”引用,以生成“features”工件。

每个“features.xml”文件都有一个“${pom.version}”字符串,因此生成的工件使用封闭 POM 文件的版本。

我发现其中一个模块正在生成仍然具有“${pom.version}”字符串的“features.xml”工件。没有发生属性过滤。这在任何其他模块中都没有发生。

这个错误的模块在其他方面也有所不同。所有其他模块都引用了“maven-bundle-plugin”并且是打包类型“bundle”。该模块是包装类型“pom”,不引用“maven-bundle-plugin”。

因此,我决定尝试将错误的 POM 更改为打包类型 bundle,并对“maven-bundle-plugin”进行“空”引用,而不覆盖默认值(我首先尝试仅更改打包类型,但失败了“没有这种包装类型”,有点可以理解)。

这行得通。错误模块现在生成一个带有“features.xml”文件的工件,其中属性引用替换为值。

我想了解为什么我必须这样做。

实际上我很惊讶我从来不必引用“maven-resources-plugin”,因为我认为我必须这样做才能获得任何属性过滤。看来这是默认完成的,可能是“build-helper-maven-plugin”的一部分。

更新

这是有问题的 POM,有一些省略:

请注意两条注释,一条关于“包装类型”,一条关于第一个插件定义。如果您在此处进行了描述的更改,它将不再对 features.xml 文件进行属性过滤。

这是来自 src/main/resources 的非常简单的“features.xml”文件,同样带有省略号:

注意“${pom.version}”参考。POM 处于当前状态,生成的“features.xml”文件将替换为“2.2.0-SNAPSHOT”。如果您进行上述更改,它将不会进行过滤。

0 投票
1 回答
2075 浏览

maven - 无法从插件 'org.codehaus.mojo:build-helper-maven-plugin:1.9' 加载 mojo 'add-source'(或其所需组件之一)

我正在使用以下 Maven 插件:

Eclipse 不断向我显示以下错误:

目标 org.codehaus.mojo:build-helper-maven-plugin:1.9:add-source 的执行 add-source 失败:无法从插件 'org 加载 mojo'add-source'(或其所需组件之一) .codehaus.mojo:build-helper-maven-plugin:1.9' (org.codehaus.mojo:build-helper-maven-plugin:1.9:add-source:add-source:generate-sources) org.apache.maven。 plugin.PluginExecutionException:执行目标 org.codehaus.mojo:build-helper-maven-plugin:1.9:add-source 的添加源失败:无法从插件“org.codehaus.mojo:build-helper-maven-plugin:1.9”

我究竟做错了什么?

0 投票
1 回答
328 浏览

java - 具有多个活动配置文件的 buid-helper-plugin

我有一个项目可能会根据所选配置文件采用不同的来源/资源。有些配置文件是互斥的,有些应该是可组合的,例如,在下面的代码段中定义的配置文件local应该wildfly是可组合的

如果我在 Eclipse 下执行此操作,我注意到实际上只应用了后者 - 我只看到wildfly配置文件中定义的源/资源。

同样在生成的完整 POM 中,我注意到仅wildfly应用了后者 ( ) 配置文件的配置,因此删除了local配置文件中定义的源和资源。

这是插件应该工作的方式,还是我错过了什么?

0 投票
1 回答
1066 浏览

eclipse - 使用 build-helper-maven 附加源目录

我尝试使用 build-helper-maven 插件附加由 jaxb 或 cxf 生成的源目录。不幸的是,即使我在 mvn generate-sources 中取得了成功,我的 eclipse 也没有将目标目录添加为源文件夹。

日志 :

你有什么主意吗 ?

此致

0 投票
1 回答
3302 浏览

maven - build-helper-maven-plugin:无法执行目标 org.codehaus.mojo:versions-maven-plugin:2.2:set

我们有一个项目,在 pom.xml 中我们没有指定 groupId,因为我们从父 pom 继承了它。

如果我们然后运行mvn -B build-helper:parse-version versions:set -DnewVersion=\${parsedVersion.majorVersion}.\${parsedVersion.minorVersion}.\${parsedVersion.incrementalVersion},我们会得到一个错误:

[错误] 无法在项目 dbutils 上执行目标 org.codehaus.mojo:versions-maven-plugin:2.2:set (default-cli):执行目标 org.codehaus.mojo:versions-maven-plugin:2.2 的 default-cli : 设置失败。NullPointerException -> [帮助 1]

我检查了这是来自 maven 版本插件的错误,并且有一些解决方法,例如,使用 2.1 而不是 2.2。

你知道吗,我怎样才能使用 build-helper 插件来避免这个错误?

谢谢你,雅舒