我有多模块java项目如下:
top_level_project
pom.xml
(...)
<groupId>a.b.c</groupId>
<artifactId>myProject</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>pom</packaging>
<modules>
<module>module1</module>
<module>module2</module>
</modules>
/module1
pom.xml
(...)
<parent>
<artifactId>myProject</artifactId>
<groupId>a.b.c</groupId>
<version>1.0-SNAPSHOT</version>
</parent>
<dependencies>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
</dependency>
</dependencies>
/src/main/java
.project
/module2
pom.xml
(...)
<parent>
<artifactId>myProject</artifactId>
<groupId>a.b.c</groupId>
<version>1.0-SNAPSHOT</version>
</parent>
/src/main/java
.project
我使用过Eclipse Kepler&amp;露娜。
问题是eclipse无法识别module1中添加的slf4j依赖项(对于所有依赖项都是如此)。我检查了父项目 - &gt; Java构建路径 - &gt;无法查看或添加Maven依赖项的库。
另外,右键单击module1 - &gt;属性,我没有选择Java构建路径。
父项目 - &gt; Java构建路径 - &gt;来源标签:我看到文件夹列为top_level_project/module1/src/main/java
。我将默认输出文件夹保留在top_level_project/bin
。
Project facet是Java 1.7。
执行maven目标效果很好。
任何帮助都将不胜感激。
答案 0 :(得分:1)
我找到了解决方法。点击top_level_project
。从菜单中选择文件 - &gt;导入 - &gt; Maven - &gt;现有的Maven项目。选择module1
等,然后单击“确定”。
这样做是在工作区中添加与top_level_project
相同级别的子项目。我希望它保持在top_level_project
之下,因为module1
是子项目,但此解决方案可以正常工作,因为module1
被认为是Maven项目,并且包含了所有Maven依赖项。