问题标签 [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.
java - Maven 额外来源通配符
我正在向我的 Maven 项目添加一些额外的资源,直到现在一切都运行良好。我只是想让额外的源选择更通用一点,因为今天我有类似的东西:
我想这样做:
那是因为一些开发人员没有他们工作空间下的所有插件,我不想pom.xml
在每个开发环境中修改我的。
不幸的是,该模式不起作用- 至少在 Eclipse 中 -因为文件夹未标记为source。我做了一些研究,发现 Maven 使用了Ant 模式,但它不起作用。
您能否告诉我是否可以在<sources>
定义中使用该约定?
maven - 构建助手 Maven 插件属性不适用于资源 targetPath
我正在使用Build Helper Maven Plugin来构造一个属性,该属性是带有“-”代表“。”的版本......我将其配置如下:
当我构建包含该${webscript.version}
属性的资源时,这很好用(它们在文件中按预期正确替换),所以这是有效的:
但是,我遇到的问题是在项目中的其他任何地方使用该属性......我想要做的是将该属性用于目标文件夹,如下所示:
使用此代码,创建的文件夹只是“${webscript.version}”而不是“1-0-66”(在当前版本为 1.0.66 的情况下)。
工作和不工作的例子都在同一个<build>
元素中,所以我假设它们处于同一阶段。
有人可以建议我如何调整配置以使其正常工作,或者建议一种替代方法来替换“。” 将“-”作为在这种情况下有效的新属性?
regex - 在 build-helper:regex-property 中禁用转义替换值
我想根据正则表达式替换 Maven 中的属性。为此,我正在使用该regex-property
插件。属性将包含以空格分隔的条目,我需要从每个条目创建一个 xml“节点”。
替换后的属性应稍后用于复制给定的工件:
我有一些几乎可以工作的东西:
但这里的问题是,它replacement
在途中的某个地方逃脱了。因此生成的属性将包含<fileset dir\="C\:\\some\\entry" includes\="*.myext" />
,这是不希望的。
这种方法确实看起来很老套,但我找不到任何其他方法可以让我从属性中指定的目录中复制文件。
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}
文件夹。
任何帮助表示赞赏。
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.
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”。如果您进行上述更改,它将不会进行过滤。
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”
我究竟做错了什么?
java - 具有多个活动配置文件的 buid-helper-plugin
我有一个项目可能会根据所选配置文件采用不同的来源/资源。有些配置文件是互斥的,有些应该是可组合的,例如,在下面的代码段中定义的配置文件local
应该wildfly
是可组合的
如果我在 Eclipse 下执行此操作,我注意到实际上只应用了后者 - 我只看到wildfly
配置文件中定义的源/资源。
同样在生成的完整 POM 中,我注意到仅wildfly
应用了后者 ( ) 配置文件的配置,因此删除了local
配置文件中定义的源和资源。
这是插件应该工作的方式,还是我错过了什么?
eclipse - 使用 build-helper-maven 附加源目录
我尝试使用 build-helper-maven 插件附加由 jaxb 或 cxf 生成的源目录。不幸的是,即使我在 mvn generate-sources 中取得了成功,我的 eclipse 也没有将目标目录添加为源文件夹。
日志 :
你有什么主意吗 ?
此致
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 插件来避免这个错误?
谢谢你,雅舒