将两个Java Maven项目合并为一个

时间:2019-05-23 11:45:16

标签: java maven

我正在研究Java / Maven项目。我正在将另一个项目用作JAR库,一切正常。

我的经理希望我仅使用一个Git存储库。因此,他要求我合并这两个代码并将其合并为一个项目。我需要牢记的是什么。

对于如何操作以及我需要牢记的事情感到困惑(例如pom.xml中的更改)

我已经尝试过的事情:

  • 创建了新项目,并尝试复制src部分并粘贴到新项目src中[似乎不正确]
  • 尝试复制整个项目并将其粘贴到新项目中。 [不知道是否行得通]

请帮助。

谢谢。

2 个答案:

答案 0 :(得分:3)

  

我的经理希望我仅使用一个Git存储库。因此,他要求我合并这两个代码并将其合并为一个项目。

将两个基于Maven的项目基本上放置在一个Git存储库中并生成一个将同时使用原始项目和外部库的Maven项目是两个不同的任务。由于在Git存储库下,您拥有一个看起来像这样的文件系统:

|__.git
|__my-project
|  |__ pom.xml
|  |__src // and source code inside
|__used-to-be-external-lib
   |__ pom.xml    
   |__src 

这意味着项目共享相同的存储库,但完全独立。

另一方面,如果目标是一起构建 两个项目,而不是考虑使用multi-module Maven项目:

在这种情况下,您将得到类似以下的内容:

|__.git
|__project
   |__pom.xml  // will have the packaging pom as you can read in link I provided
   |__my-project
   |  |__pom.xml
   |  |__src
   |__used-to-be-external-lib
      |__pom.xml 

我在第二个示例中提到的带有包装pom的POM将包含模块列表:

<?xml version="1.0" encoding="UTF-8"?>
  <project...>
  <modelVersion>4.0.0</modelVersion>
  <groupId>...</groupId>
  <artifactId>...</artifacId>
  <version>...</version>
  <packaging>pom</packaging>
  <modules>
    <module>my-project</module>
    <module>used-to-be-external-lib</module>
  </modules>
</project>  

答案 1 :(得分:0)

可能是一种粗略的方法。假设您有两个Maven项目A和B。现在在intllij-idea中创建一个新项目C。在项目C中,创建一个新模块A1。将依赖项和构建属性(如果存在)从A的pom.xml复制到A1的pom.xml。现在,将项目A的src目录复制到A1的src中,然后复制资源。对项目B重复相同的过程,即创建模块B1,复制依赖项,复制src,资源。