maven - maven Build Helper Maven Plugin的使用

标签 maven m2e

我正在尝试使用 maven 插件将 maven java 项目的源文件夹添加到 Eclipse。

尝试使用 org.codehaus.mojo 插件时,我收到以下错误

无法在项目应用程序框架上执行目标 org.codehaus.mojo:build-helper-maven-plugin:1.7:add-source (default-cli):目标 org.codehaus.mojo:build-helper 的参数“源” -maven-plugin:1.7:add-source 丢失或无效 -> [帮助 1]

从阅读 http://mojo.codehaus.org/build-helper-maven-plugin/usage.html 上的文档开始这应该是正确的?
文件夹 target/sources/mygeneratedfiles 存在。

<plugin>
    <groupId>org.codehaus.mojo</groupId>
    <artifactId>build-helper-maven-plugin</artifactId>
    <executions>
        <execution>
         <id>add-source</id>
            <phase>generate-sources</phase>
            <goals>
                <goal>add-source</goal>
            </goals>
            <configuration>
                <sources>
                    <source>target/sources/mygeneratedfiles</source>
                </sources>
            </configuration>
        </execution>
    </executions>
</plugin>

最佳答案

问题在于,由于“相对较新”的生命周期映射规则,构建助手插件通常太旧而无法与最新的 maven 版本(与 m2e eclipse 插件结合使用)一起使用。

我通过为 orgeclipse.m2e 插件的 build-helper-maven-plugin 添加生命周期映射配置解决了这个问题。见下文:

        <plugin>
            <groupId>org.eclipse.m2e</groupId>
            <artifactId>lifecycle-mapping</artifactId>
            <version>1.0.0</version>
            <configuration>
                <lifecycleMappingMetadata>
                    <pluginExecutions>
                        <pluginExecution>
                            <pluginExecutionFilter>
                                <groupId>org.codehaus.mojo</groupId>
                                <artifactId>build-helper-maven-plugin</artifactId>
                                <versionRange>[1.0,)</versionRange>
                                <goals>
                                    <goal>add-source</goal>
                                    <goal>add-test-source</goal>
                                    <goal>add-resource</goal>
                                    <goal>add-test-resource</goal>
                                    <goal>maven-version</goal>
                                    <goal>parse-version</goal>
                                </goals>
                            </pluginExecutionFilter>
                            <action>
                                <execute>
                                    <runOnConfiguration>true</runOnConfiguration>
                                    <runOnIncremental>true</runOnIncremental>
                                </execute>
                            </action>
                        </pluginExecution>
                    </pluginExecutions>
                </lifecycleMappingMetadata>
            </configuration>
        </plugin>

关于maven - maven Build Helper Maven Plugin的使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10734898/

相关文章:

java - JRebel可以单独重新部署一个jar来进行maven依赖更新而不是整个耳朵

java - Spring - 缺少必需的库 - hibernate3-3.2.3.GA.jar

java - 使用 maven 构建后未找到 src/main/resources 中的资源

java - IntelliJ 无法从 Maven 中找到 sqljdbc4.jar,即使它已解析?

eclipse - 导致最新 M2E 完全无法使用的基本错误?

java - Maven - 将 "main"文件夹与 "tests"文件夹同步

java - M2eclipse依赖解析

eclipse - 同一 Maven 存储库上的两个 Eclipse

eclipse - 未能在Maven项目中收集依赖项

Eclipse 3.7/Indigo m2e WTP 集成依赖问题