使用maven整合2个eclipse项目
Integrate 2 eclipse projects using maven
我的存储库中有一个 Web 项目,最近我收到了另一个项目,只是代码,我需要将其用作第一个项目的子模块(只有 java 个实体类)。类似于:
./web-project/.project
./entities/.project
因为我相信它会经常更改,所以我需要它仍然是一个单独的 eclipse 项目。我想要的是在 web-project
中使用 entities
,就像我将 .jar
作为依赖项包含在内一样。
除了创建我自己的 maven 存储库并从那里获取 jars 之外,如果我正在使用 maven 构建这两个项目,是否有办法将它添加到我的构建路径中?
我不确定我是否完全理解这个问题。从 maven 生成 Eclipse 项目时,听起来你希望将依赖项目包含在 Eclipse 构建路径中。是吗?
如果是这样,我知道的唯一方法是从父 Maven 项目 运行 mvn eclipse:eclipse。也就是说,您需要创建一个 pom.xml 是某个目录,然后将您现有的两个项目都放在该目录下。类似于:
./parent-folder
/pom.xml
/web-project
/pom.xml
/entities
/pom.xml
然后,当然,在 pom.xml 文件中声明适当的 Maven 依赖关系。
除了将 entities
声明为 web-project
Maven 项目的 <dependency>
之外,我认为您不需要做任何事情。
这种关系确保 entities
eclipse 项目源自动包含在 web-project
的构建路径中,只要您有:
两个项目都导入到 Eclipse 中并使用 m2e
插件标记为 Maven
个项目
已启用 Maven > Enable Workspace Resolution
选项
至于一起构建它们,您可以创建一个一次性父项目(如果您不想保留父项目),将这两个项目列为 module
s。否则,您必须先构建 entities
项目并将其安装到本地存储库,然后再构建 web-project
。但是,您将在 web-project
项目中看到对 entity
class 的更改,因为您在其构建路径中拥有前者的源代码。
我终于解决了在构建 web-app
之前将构建的工件安装到本地 m2
存储库的问题。它适用于 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 中声明依赖关系。
我的存储库中有一个 Web 项目,最近我收到了另一个项目,只是代码,我需要将其用作第一个项目的子模块(只有 java 个实体类)。类似于:
./web-project/.project
./entities/.project
因为我相信它会经常更改,所以我需要它仍然是一个单独的 eclipse 项目。我想要的是在 web-project
中使用 entities
,就像我将 .jar
作为依赖项包含在内一样。
除了创建我自己的 maven 存储库并从那里获取 jars 之外,如果我正在使用 maven 构建这两个项目,是否有办法将它添加到我的构建路径中?
我不确定我是否完全理解这个问题。从 maven 生成 Eclipse 项目时,听起来你希望将依赖项目包含在 Eclipse 构建路径中。是吗?
如果是这样,我知道的唯一方法是从父 Maven 项目 运行 mvn eclipse:eclipse。也就是说,您需要创建一个 pom.xml 是某个目录,然后将您现有的两个项目都放在该目录下。类似于:
./parent-folder
/pom.xml
/web-project
/pom.xml
/entities
/pom.xml
然后,当然,在 pom.xml 文件中声明适当的 Maven 依赖关系。
除了将 entities
声明为 web-project
Maven 项目的 <dependency>
之外,我认为您不需要做任何事情。
这种关系确保 entities
eclipse 项目源自动包含在 web-project
的构建路径中,只要您有:
两个项目都导入到 Eclipse 中并使用
m2e
插件标记为Maven
个项目已启用
Maven > Enable Workspace Resolution
选项
至于一起构建它们,您可以创建一个一次性父项目(如果您不想保留父项目),将这两个项目列为 module
s。否则,您必须先构建 entities
项目并将其安装到本地存储库,然后再构建 web-project
。但是,您将在 web-project
项目中看到对 entity
class 的更改,因为您在其构建路径中拥有前者的源代码。
我终于解决了在构建 web-app
之前将构建的工件安装到本地 m2
存储库的问题。它适用于 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 中声明依赖关系。