如何使用build-helper-maven-plugin创建额外的目录?

时间:2019-02-08 19:01:18

标签: eclipse maven m2e build-helper-maven-plugin

我有一个具有以下结构的Java Maven项目。 (这是逻辑结构,不一定是确切的目录结构。)

library(zoo)
library(data.table)

df1 <- data.table(state_name = c('Alabama', 'Arizona', 'Arkanas'),
                  qtr = c('2008 Q1', '2009 Q2', '2009 Q3'))

df2 <- data.table(state_name = c('Alabama', 'Arizona', 'Arkanas'),
                  qtr = c('2007 Q1', '2012 Q2', '2009 Q3'))

df1[, qtr := as.yearqtr(qtr, format = "%Y Q%q")]
df2[, qtr := as.yearqtr(qtr, format = "%Y Q%q")]

df1[df2, on = .(state_name), expanded_medicaid := as.integer(qtr >= i.qtr)]

#   state_name     qtr expanded_medicaid
#1:    Alabama 2008 Q1                 1
#2:    Arizona 2009 Q2                 0
#3:    Arkanas 2009 Q3                 1

根据(我对Maven标准的理解),父pom引用其Project |-Submodule | |-src/main/java | |-src/main/resources | |-src/test/java | |-src/test/resources | `-pom.xml `-pom.xml 标记中的子模块,而子模块pom引用其<modules>引用父pom。

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

有人告诉我maven-pmd-plugin插件可用于创建我需要的这些其他目录。因此,我在子模块pom中添加了以下配置:

build-helper-maven-plugin

当我重建项目时,Maven没有生成我想要的目录。因此,我从子模块pom中取出了插件配置,然后将其放入父pom中。 Maven仍然没有生成我的目录。

目前,我不知道如何使该插件正常工作。我正在尝试遵循其他在线教程,但是我必须做错了什么。谁能解释说哪个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> ?以及如何配置Eclipse以正确显示新的Maven项目结构?

感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

khmarbaise的评论使我意识到自己的错误,尽管我没有听取他的建议。

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

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