在Eclipse中同时开发两个Maven项目

在Eclipse中同时开发两个Maven项目,eclipse,maven,Eclipse,Maven,我是Maven的新手,正在尝试开发两个项目,其中一个依赖于另一个。我使用Eclipse作为我的IDE,以及它集成的Maven特性 假设我的两个项目名为foo和bar,其中bar取决于foo。Eclipse可以帮助我生成以下pom.xmls: 傅: 出于某种原因,当我从Eclipse运行bar时,Maven似乎足够聪明,可以找到foo。然而,当我尝试使用Maven构建jar时,它失败了 我注意到,如果我将0.1.0替换为0.1.0-SNAPSHOT(在两个pom.xml文件中),它会成功 我的问题

我是Maven的新手,正在尝试开发两个项目,其中一个依赖于另一个。我使用Eclipse作为我的IDE,以及它集成的Maven特性

假设我的两个项目名为
foo
bar
,其中
bar
取决于
foo
。Eclipse可以帮助我生成以下
pom.xml
s:

傅:

出于某种原因,当我从Eclipse运行
bar
时,Maven似乎足够聪明,可以找到
foo
。然而,当我尝试使用Maven构建jar时,它失败了

我注意到,如果我将
0.1.0
替换为
0.1.0-SNAPSHOT
(在两个
pom.xml
文件中),它会成功


我的问题是:在这种情况下,Maven打算如何使用?在准备将项目添加到中央存储库之前,我是否应该专门使用
-SNAPSHOT
版本?我需要对模块做一些有趣的事情吗?还是我对Maven有一些基本的误解?

您需要先安装
mvn
foo项目。这将把
foo
0.1.0
版本安装到您的本地存储库(通常位于
~/.m2/存储库
目录中),您的
项目的构建将在那里找到它。@SteveC谢谢!这解决了我的问题。我想这是对Maven的根本误解。
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>com.voichick</groupId>
    <artifactId>foo</artifactId>
    <version>0.1.0</version>
</project>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>com.voichick</groupId>
    <artifactId>bar</artifactId>
    <dependencies>
        <dependency>
            <groupId>com.voichick</groupId>
            <artifactId>foo</artifactId>
            <version>0.1.0</version>
            <scope>provided</scope>
        </dependency>
    </dependencies>
    <version>0.0.1</version>
</project>
[INFO] Scanning for projects...
[INFO]                                                                         
[INFO] ------------------------------------------------------------------------
[INFO] Building bar 0.0.1
[INFO] ------------------------------------------------------------------------
[WARNING] The POM for com.voichick:foo:jar:0.1.0 is missing, no dependency information available
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 0.201 s
[INFO] Finished at: 2017-04-30T20:25:57-05:00
[INFO] Final Memory: 8M/245M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal on project bar: Could not resolve dependencies for project com.voichick:bar:jar:0.0.1: Failure to find com.voichick:foo:jar:0.1.0 in https://repo.maven.apache.org/maven2 was cached in the local repository, resolution will not be reattempted until the update interval of central has elapsed or updates are forced -> [Help 1]
[ERROR] 
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR] 
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/DependencyResolutionException