使用maven集成2个eclipse项目

时间:2015-01-05 15:26:48

标签: java eclipse git maven repository

我的存储库中有一个Web项目,最近我收到了另一个项目,只是代码,我需要将其用作第一个项目的子模块(只是java实体类)。类似的东西:

./web-project/.project
./entities/.project

由于我相信它会经常被改变,我仍然需要它仍然是一个单独的日食项目。我想要的是使用entities中的web-project,就像我已将.jar作为依赖项一样。

除了创建我自己的maven repo并从那里获取jar之外,有没有办法将它添加到我的构建路径中,因为我使用maven来构建这两个项目?

3 个答案:

答案 0 :(得分:0)

我不确定我完全理解这个问题。听起来您希望在从maven生成Eclipse项目时将依赖项目包含在Eclipse构建路径中。是吗?

如果是这样,我知道这样做的唯一方法是从父maven项目运行mvn eclipse:eclipse。也就是说,您需要创建一个pom.xml是某个目录,然后将两个现有项目放在其下面。类似的东西:

./parent-folder
  /pom.xml
  /web-project
    /pom.xml
  /entities
    /pom.xml

然后,当然,在pom.xml文件中声明适当的maven依赖项。

答案 1 :(得分:0)

除了将entities声明为<dependency> Maven项目的web-project之外,我不认为您还需要做任何其他事情。

此关系确保entities eclipse项目源自动包含在web-project的构建路径中,只要您拥有:

  • 使用Maven插件将两个项目导入eclipse并标记为m2e个项目

  • 启用Maven > Enable Workspace Resolution选项

至于将它们组合在一起,您可以创建一个丢弃的父项目(如果您不想保留父项目)将这两个项目列为module。否则,您必须构建entities项目并在构建web-project之前将其安装到本地存储库。但是,您会在entity项目中看到web-project类的更改,因为您的构建路径中包含以前的源代码。

答案 2 :(得分:0)

在构建m2之前,我终于解决了将构建的工件安装到本地web-app存储库的问题。它适用于eclipse和从命令行运行构建。

在依赖项目entities上,将以下插件添加到install构建步骤中:

  <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-install-plugin</artifactId>
        <version>${maven-install-plugin.version}</version>
        <executions>
            <execution>
                <phase>install</phase>
                <goals>
                    <goal>install-file</goal>
                </goals>
                <configuration>
                    <groupId>${project.groupId}</groupId>
                    <artifactId>${project.artifactId}</artifactId>
                    <version>${project.version}</version>
                    <packaging>jar</packaging>
                    <file>${basedir}/target/${project.artifactId}-${project.version}.jar</file>
                </configuration>
            </execution>
        </executions>
    </plugin>

并在web-project POM中像往常一样声明依赖关系。