Maven插件构建助手不在Spring工具套件工作区中创建新目录

Maven插件构建助手不在Spring工具套件工作区中创建新目录,maven,spring-tool-suite,build-helper-maven-plugin,Maven,Spring Tool Suite,Build Helper Maven Plugin,我希望遵循《实践中的Spring》第10章中的建议,使用Maven中的Build Helper插件为单元测试和集成测试创建单独的目录。我在Spring工具套件中工作,试图将集成测试添加到Spring项目中。我对插件的配置如下: <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>build-helper-maven-plugin</artifactId>

我希望遵循《实践中的Spring》第10章中的建议,使用Maven中的Build Helper插件为单元测试和集成测试创建单独的目录。我在Spring工具套件中工作,试图将集成测试添加到Spring项目中。我对插件的配置如下:

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

这是说添加了“/Users/walk12/Documents/workspace sts/wellness/src/It/java”,但我的实际文件结构似乎没有任何变化。我应该在某处看到“src/it/java”,对吗?相反,即使在关闭和打开项目并点击Refresh之后,我得到的结果仍然是:

buildhelper maven plugin:addtestsource
用于将其他测试源目录添加到构建上下文中。这并不意味着它将实际创建任何新目录。这仅仅意味着它将只向构建中添加一组现有的目录。这些目录可以是您手动创建的,也可以是在构建过程中由其他插件创建的

假设您已经安装了buildhelper m2e连接器,m2e应该添加
src/it/java
作为测试源文件夹。您可以按照以下步骤进行验证

  • 右键单击项目,然后单击属性

  • 现在选择
    buildpath
    ,您应该会看到
    src/it/java
    缺少源代码 “源”选项卡中的文件夹


  • 但是,要使它以您期望的奇特形式出现在Project Explorer中,该目录实际上应该由其他插件显示/生成。

    它是否出现在项目视图中的src文件夹层次结构下(即屏幕截图中带有红色问题标记的文件夹src文件夹)?我猜EclipseM2e不知道src/it/java是一个java源文件夹(因为它不遵循通常的maven约定)。我猜
    buildhelperMaven plugin
    会向maven构建结构添加路径,但不会创建目录。
    src/it/java
    src/it/resources
    是否已经存在?并尝试在Eclipse中更新maven项目。您在那里有一个错误,它可能指向某些东西,可能是缺少目录。@drewmacini如果路径被添加到Maven构建结构中(而
    build helper Maven plugin
    恰好做到了这一点),m2eclipse必须将其提取出来。红色的X表示WEB-INF中的.jsp文件。很高兴再次见到您,@coderplus:)我猜目录也丢失了。好吧,我想这个插件也创建了目录。我签入了Properties>Build Path,其中没有以任何方式指示src/it/java文件夹。我可以简单地右键单击并自己创建这些目录吗?为了正确地执行此操作,我还应该做些什么吗?@Kyle Walker-是的,您可以创建目录并添加所需的测试用例和测试资源。您使用的是哪个版本的eclipse和m2e。您是否安装了buildhelper连接器?@coderplus-我实际上使用的是Spring工具套件,它是Eclipse的一个版本。(我刚刚更改了我的问题和标题,以反映我的疏忽。)它是3.6.2版。m2e的版本是1.5.014066-0033,我看到一个版本为0.15.0.201207090124的“m2e connector for build helper maven plugin”,右键单击project>maven>Update project configuration from pom文件,再次检查source选项卡。
    [INFO] Scanning for projects...
    [INFO] 
    [INFO] Using the builder org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder with a thread count of 1
    [INFO]                                                                         
    [INFO] ------------------------------------------------------------------------
    [INFO] Building wellness Maven Webapp 0.0.1-SNAPSHOT
    [INFO] ------------------------------------------------------------------------
    [INFO] 
    [INFO] --- build-helper-maven-plugin:1.9.1:add-test-source (add-it-source) @ wellness ---
    [INFO] Test Source directory: /Users/walk12/Documents/workspace-sts/wellness/src/it/java added.
    [INFO] 
    [INFO] --- build-helper-maven-plugin:1.9.1:add-test-resource (add-it-resource) @ wellness ---
    [INFO] 
    [INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ wellness ---
    [WARNING] Using platform encoding (US-ASCII actually) to copy filtered resources, i.e. build is platform dependent!
    [INFO] Copying 4 resources
    [INFO] 
    [INFO] --- maven-compiler-plugin:3.1:compile (default-compile) @ wellness ---
    [INFO] Changes detected - recompiling the module!
    [WARNING] File encoding has not been set, using platform encoding US-ASCII, i.e. build is platform dependent!
    [INFO] Compiling 6 source files to /Users/walk12/Documents/workspace-sts/wellness/target/classes
    [WARNING] /Users/walk12/Documents/workspace-sts/wellness/src/main/java/com/kylewalker/wellness/data/EmployeeDaoJdbcImpl.java: /Users/walk12/Documents/workspace-sts/wellness/src/main/java/com/kylewalker/wellness/data/EmployeeDaoJdbcImpl.java uses unchecked or unsafe operations.
    [WARNING] /Users/walk12/Documents/workspace-sts/wellness/src/main/java/com/kylewalker/wellness/data/EmployeeDaoJdbcImpl.java: Recompile with -Xlint:unchecked for details.
    [INFO] ------------------------------------------------------------------------
    [INFO] BUILD SUCCESS
    [INFO] ------------------------------------------------------------------------
    [INFO] Total time: 3.374 s
    [INFO] Finished at: 2014-10-18T07:48:37-07:00
    [INFO] Final Memory: 15M/153M
    [INFO] ------------------------------------------------------------------------`