我有一个具有以下结构的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项目结构?
感谢您的帮助!
答案 0 :(得分:0)
khmarbaise的评论使我意识到自己的错误,尽管我没有听取他的建议。
build-helper-maven-plugin
配置应该放在我最初拥有它的子模块pom(而不是父pom)中。但是Maven不会为您创建这些目录,您会创建目录,然后Maven使用它们。
一旦Maven使用了新目录,Eclipse就会很好地显示它们。