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
maven eclipse:eclipse目标生成错误的.classpath_Eclipse_Maven_Dependencies_Classpath_Multi Module - Fatal编程技术网

maven eclipse:eclipse目标生成错误的.classpath

maven eclipse:eclipse目标生成错误的.classpath,eclipse,maven,dependencies,classpath,multi-module,Eclipse,Maven,Dependencies,Classpath,Multi Module,我有一个maven父项目p,它有两个子模块a和B。a和B都在p文件夹中。P在pom.xml中有一个模块部分,类似于: <modules> <module>A</module> <module>B</module> </modules> 而不是工作 <classpathentry kind="var" path="M2_REPO/some/group/B/0.0.1-SNAPSHOT/B-0.0.1-SNAPS

我有一个maven父项目p,它有两个子模块a和B。a和B都在p文件夹中。P在pom.xml中有一个模块部分,类似于:

<modules>
  <module>A</module>
  <module>B</module>
</modules>
而不是工作

<classpathentry kind="var" path="M2_REPO/some/group/B/0.0.1-SNAPSHOT/B-0.0.1-SNAPSHOT.jar"/>


有什么不对劲吗?谢谢。

如果将属性useProjectReferences设置为false(使用-DuseProjectReferences=false),那么它应该可以正常工作(默认值为true)。请参阅文档

谢谢。事实证明,这是一个解决方法-问题的根源是我在P目录下有a和B,而eclipse:eclipse目标以/B而不是/P/B的形式生成引用。也许我需要切换到一个平面项目结构。注意:更多地研究这个问题,平面结构不太可取。因此,我们可以坚持使用工件引用和mvn安装,或者使用父项目作为工作区并直接导入子项目。或者有人可以修复.classpath生成,以正确包含相对于工作区的子路径。
<dependencies>
  <dependency>
    <groupId>some.group</groupId>
    <artifactId>B</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <type>jar</type>
    <scope>compile</scope>
  </dependency>
</dependencies>
<classpathentry kind="src" path="/B"/>
<classpathentry kind="var" path="M2_REPO/some/group/B/0.0.1-SNAPSHOT/B-0.0.1-SNAPSHOT.jar"/>