我是Maven的新手。我有两个项目。我想要这种树:
PROJECT1
--pom.xml
项目2
--pom.xml
的pom.xml
这意味着我执行了聚合和继承。通过这样做并在eclipse中导入两个项目,第二个项目无法看到在外部 - 公共pom.xml中指定的junit依赖项。 第一个项目的问题是,我只看到文件夹而不是包。
答案 0 :(得分:0)
尝试在Eclipse中使用Package Explorer,以便查看包而不是文件夹。 此外,对于这种继承,尝试在一个父项目中添加这两个项目,并将其导入Eclipse。在项目的两个.pom文件中,您必须指定其父项目
答案 1 :(得分:0)
正如MykoB所说,确保将普通 pom.xml
project1
和project2
定义为modules
。在每个子项目中,将 common pom.xml
指定为parent
。
在Eclipse中导入项目时选择包含父pom.xml
的文件夹,您应该正确导入父模块和两个子模块。
这假设你有最新的Eclipse Indigo和m2e插件。
答案 2 :(得分:0)
您构建的是正确的默认Maven模块结构,但Eclipse喜欢将所有项目放在同一级别。也就是说,包含模块条目的根pom.xml应该位于自己的文件夹中,如下所示:
WorkspaceFolder
\_project1
\_pom.xml
\_project2
\_pom.xml
\_Builder
\_pom.xml
\_Parent
\_pom.xml
Builder pom.xml的模块条目看起来像<module>../project1</module>
。这是你的聚合部分。另外,如果你想要一个父pom进行继承(这不一定与有模块的pom有关),你必须将parent条目添加到project1,project2和Builder的pom.xml,你需要拥有<relativePath>../Parent</relativePath>
。
请注意,所有相对路径都来自于您正在将子文件夹结构调整为eclipse所喜欢的问题。