【问题标题】:mvn eclipse:eclipse from parent POM.xmlmvn eclipse:来自父 POM.xml 的eclipse
【发布时间】:2014-01-23 22:39:39
【问题描述】:

我正在处理一个包含许多模块的项目。我想要一个命令来构建每个模块并生成 Eclipse 配置文件,但是当我在父 pom 上运行mvn eclipse:eclipse 时,Eclipse 看不到依赖关系并给我这个错误:'module2' is missing required Java project: 'module1'。当我在模块文件夹而不是父文件夹中运行相同的命令时,它工作正常。

项目是这样设置的,其中module2依赖于module 1。

.
 |-- module1
 |   `-- pom.xml
 |-- module2
 |   `-- pom.xml
 `-- pom.xml

这是我在父文件夹和模块文件夹中运行 mvn eclipse:eclipse 时的 .project 和 .classpath 的比较:

$ diff module_project parent_project
5c5,10
<   <projects/>
---
>   <projects>
>     <project>module1</project>
>   </projects>

$ diff module_classpath parent_classpath
15c15
<   <classpathentry kind="var" path="M2_REPO/path/to/module1/module1-0.1.jar"/>
---
>   <classpathentry kind="src" path="/module1"/>

如何在不单独对每个文件夹运行命令的情况下使其正常工作?

顺便说一下,这是我正在使用的版本号。 Eclipse 和 maven 都是在 Ubuntu 13.10 上使用 apt-get 安装的。

Eclipse:
Version: 3.8.1
Build id: debbuild

Maven:
Apache Maven 3.0.4
Maven home: /usr/share/maven
Java version: 1.7.0_25, vendor: Oracle Corporation
Java home: /usr/lib/jvm/java-7-openjdk-amd64/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "3.11.0-15-generic", arch: "amd64", family: "unix"

【问题讨论】:

    标签: eclipse maven-2


    【解决方案1】:

    如果您从父文件夹运行命令 eclipse:eclipse,您需要在同一个工作区中打开您的两个项目 'module1' 和 'module2' 才能工作。

    第一种情况:

    <classpathentry kind="var" path="M2_REPO/path/to/module1/module1-0.1.jar"/>
    

    如果您想从 Eclipse 运行您的项目“module2”,它将在存储库中查找其依赖项“module1”,这意味着您在“module1”中所做的任何更改将无法用于项目 module2,直到您安装它在存储库中。

    第二种情况:

    <classpathentry kind="src" path="/module1"/>
    

    您对项目模块 1 所做的任何更改都将立即用于项目模块 2,因为这两个项目直接链接在同一个工作区中。

    【讨论】:

    • 是的!答案似乎是该项目以某种方式检测到module1在同一个项目中并试图从eclipse中读取它,而文件夹名称“module1”没有找到,因为该文件夹被命名为“Module1”。
    • Rida,如果你不介意,你知道如何切换 mvn eclipse:eclipse 的行为,以便在模块中运行命令的行为就像在父文件夹中运行命令一样,反之亦然反之亦然?
    猜你喜欢
    • 2011-03-18
    • 2013-10-08
    • 1970-01-01
    • 1970-01-01
    • 2013-03-20
    • 1970-01-01
    • 1970-01-01
    • 2017-04-08
    • 2014-04-04
    相关资源
    最近更新 更多