Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
什么';在Eclipse中开发时,Maven项目结构是好的吗?_Eclipse_Maven_Code Organization - Fatal编程技术网

什么';在Eclipse中开发时,Maven项目结构是好的吗?

什么';在Eclipse中开发时,Maven项目结构是好的吗?,eclipse,maven,code-organization,Eclipse,Maven,Code Organization,我是新手。我有两个项目。我想要这种树: 项目1 --pom.xml 项目2 --pom.xml pom.xml 这意味着我执行了聚合和继承。通过这样做并在eclipse中导入两个项目,第二个项目无法看到外部公共pom.xml中指定的junit依赖项。 第一个项目的问题是,我看到的不是包,而是文件夹。尝试在Eclipse中使用包资源管理器,以便查看包而不是文件夹。 同样对于这种继承,尝试将两个项目都添加到一个父项目中,并将此项目导入Eclipse。在项目的两个.pom文件中,您必须指定它们的父项目

我是新手。我有两个项目。我想要这种树:
项目1
--pom.xml
项目2
--pom.xml
pom.xml

这意味着我执行了聚合和继承。通过这样做并在eclipse中导入两个项目,第二个项目无法看到外部公共pom.xml中指定的junit依赖项。
第一个项目的问题是,我看到的不是包,而是文件夹。

尝试在Eclipse中使用包资源管理器,以便查看包而不是文件夹。
同样对于这种继承,尝试将两个项目都添加到一个父项目中,并将此项目导入Eclipse。在项目的两个.pom文件中,您必须指定它们的父项目,正如MykoB所说的那样,确保公共
pom.xml
project1
project2
定义为
模块
。在每个子项目中,将公共
pom.xml
指定为
parent

在Eclipse中导入项目时,选择包含父模块的文件夹
pom.xml
,应该正确导入父模块和两个子模块


这假设您拥有最新的Eclipse Indigo with m2e插件。

您构建的是正确的默认Maven模块结构,但Eclipse希望所有项目都处于同一级别。也就是说,包含模块条目的根pom.xml应该位于自己的文件夹中,如下所示:

WorkspaceFolder
\_project1 
   \_pom.xml 
\_project2 
   \_pom.xml
\_Builder 
   \_pom.xml
\_Parent
   \_pom.xml
Builder pom.xml具有类似于
。/project1
的模块条目。这是你的聚合部分。此外,如果您希望有一个用于继承的父pom(这不一定与具有模块的pom相关),则必须将父条目添加到project1、project2和Builder的pom.xml中,并且需要有一个
。/parent


请注意,所有相关路径都是由于您正在根据eclipse的喜好调整子文件夹结构的问题造成的。

您是否尝试过[右键单击项目]-->[maven]-->[update project configuration]“而不是只查看文件夹”呢?