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



我正在从事Java/Maven项目。我将另一个项目用作罐子库,一切正常。

我的经理要我只使用一个git存储库。因此,他要求我合并两个代码,并将其制成一个项目。我需要牢记什么。

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

我已经尝试过的事情:

  • 创建新项目并尝试复制SRC部分并将粘贴到新项目SRC [似乎不正确]
  • 尝试复制整个项目并将其粘贴到新项目中。[不知道这是否会起作用]

请帮忙。

预先感谢。

我的经理要我只使用一个git存储库。因此,他要求我合并两个代码并将其制成一个项目。

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

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

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

另一方面

在这种情况下,您最终会得到以下内容:

|__.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>  

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

最新更新