Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Eclipse 如何使用build helper maven插件创建额外目录?_Eclipse_Maven_M2e_Build Helper Maven Plugin - Fatal编程技术网

Eclipse 如何使用build helper maven插件创建额外目录?

Eclipse 如何使用build helper maven插件创建额外目录?,eclipse,maven,m2e,build-helper-maven-plugin,Eclipse,Maven,M2e,Build Helper Maven Plugin,我有一个JavaMaven项目,其结构如下。(这是一个逻辑结构,不一定是确切的目录结构。) 根据(我对)Maven标准的理解,父pom在其标记中引用子模块,子模块pom在其标记中引用父pom 现在,我的目标是使用Maven向子模块添加两个新的源文件夹,即src/integrationTest/java和src/integrationTest/resources。我希望Maven“了解”这两个文件夹,以便我可以使用我的Maven测试插件,Maven pmd plugin执行其中的测试。我希望Ecl

我有一个JavaMaven项目,其结构如下。(这是一个逻辑结构,不一定是确切的目录结构。)

根据(我对)Maven标准的理解,父pom在其
标记中引用子模块,子模块pom在其
标记中引用父pom

现在,我的目标是使用Maven向子模块添加两个新的源文件夹,即
src/integrationTest/java
src/integrationTest/resources
。我希望Maven“了解”这两个文件夹,以便我可以使用我的Maven测试插件,
Maven pmd plugin
执行其中的测试。我希望Eclipse“了解”这两个文件夹,以便它们在Eclipse的图形项目浏览器中正确显示

我被告知,
buildhelpermaven插件
plugin可以用来创建我所需要的额外目录。因此,我在子模块pom中添加了以下配置:

<plugins>
    <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>build-helper-maven-plugin</artifactId>
        <executions>
            <execution>
                <id>add-integration-test-sources</id>
                <phase>generate-test-sources</phase>
                <goals>
                    <goal>add-test-source</goal>
                </goals>
                <configuration>
                    <sources>
                        <source>src/integration-test/java</source>
                    </sources>
                </configuration>
            </execution>
            <execution>
                <id>add-integration-test-resources</id>
                <phase>generate-test-resources</phase>
                <goals>
                    <goal>add-test-resource</goal>
                </goals>
                <configuration>
                    <resources>
                        <resource>
                            <directory>src/integration-test/resources</directory>
                        </resource>
                    </resources>
                </configuration>
            </execution>
        </executions>
    </plugin>
</plugins>

org.codehaus.mojo
构建助手maven插件
添加集成测试源
生成测试源
添加测试源
src/集成测试/java
添加集成测试资源
生成测试资源
添加测试资源
src/集成测试/资源
当我重建项目时,Maven没有生成我想要的目录。因此,我将插件配置从子模块pom中取出,并将其放在父pom中。Maven仍然没有生成我的目录

在这一点上,我不知道如何让这个插件工作。我正在努力学习其他在线教程,但我一定是做错了什么。有人能解释一下哪个pom文件是用来配置
buildhelpermaven插件的吗?如何配置Eclipse以正确显示新的Maven项目结构

谢谢你的帮助

的评论让我意识到我的错误,尽管我没有采纳他的建议

buildhelpermaven插件
配置应该放在我最初拥有它的子模块pom(而不是父pom)中。但是Maven不会为您创建这些目录,您创建这些目录,然后Maven使用它们


一旦Maven使用了您的新目录,Eclipse就会很好地显示它们。

对于集成测试,您不应该创建补充目录。您应该通过maven failsafe插件使用已经存在的不同命名模式(如*IT.java)。除此之外,在构建过程中,您不应在
target
文件夹之外生成目录,因为这将产生与版本控制相关的问题。。。。
<plugins>
    <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>build-helper-maven-plugin</artifactId>
        <executions>
            <execution>
                <id>add-integration-test-sources</id>
                <phase>generate-test-sources</phase>
                <goals>
                    <goal>add-test-source</goal>
                </goals>
                <configuration>
                    <sources>
                        <source>src/integration-test/java</source>
                    </sources>
                </configuration>
            </execution>
            <execution>
                <id>add-integration-test-resources</id>
                <phase>generate-test-resources</phase>
                <goals>
                    <goal>add-test-resource</goal>
                </goals>
                <configuration>
                    <resources>
                        <resource>
                            <directory>src/integration-test/resources</directory>
                        </resource>
                    </resources>
                </configuration>
            </execution>
        </executions>
    </plugin>
</plugins>