java - Maven 额外源通配符

标签 java maven build-helper-maven-plugin

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

<source>client/plugins/plug1/classes</source>
<source>client/plugins/plug2/classes</source>
<source>client/plugins/plug3/classes</source>
<source>client/plugins/plug4/classes</source>
<source>client/plugins/plug5/classes</source>
...

我想这样做:

<source>client/plugins/**/classes</source>

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

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

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

最佳答案

不,这是不可能的。

sources build-helper-maven-plugin:add-source 目标的属性是一个 File 数组,这意味着每个源都必须是一个 File ,因此您不能使用 Ant 路径模式。该插件实际上会将文件 client/plugins/**/classes 添加为源目录(由于它不存在,因此不会发生任何情况)。这是我测试时的日志:

[INFO] --- build-helper-maven-plugin:1.10:add-source (add-source) @ test ---
[INFO] Source directory: <omitted>\client\plugins\**\classes added.

但问题是你为什么想要这样的东西。从你的问题中不清楚这些“插件”来自哪里,但你不应该处于这种情况。每个插件可能应该是 multi-module Maven project 的单独模块。这样,每个插件都将处理其构建,并且您可以添加对这些模块的依赖项。

关于java - Maven 额外源通配符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35514498/

相关文章:

java - 根据项目版本使用发布或快照存储库进行手动部署

java - Stream Api - 用逗号分隔排除嵌套逗号

java - 分发 XML 文件

java - tomcat 启动没有错误,但是当我尝试访问该网站时它返回 404

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

maven-plugin - build-helper-maven-plugin 报错 sources is missing

Java Telnet 库

java - 使用 XPath 搜索时,HtmlElements 在 block 中找到 3 个元素,而不是仅 1 个

java - Maven 如何确定将要运行的测试的顺序?

java - 如何获取/发布多模块 Maven 项目站点到文件夹中