我正在研究Java / Maven项目。我正在将另一个项目用作JAR库,一切正常。
我的经理希望我仅使用一个Git存储库。因此,他要求我合并这两个代码并将其合并为一个项目。我需要牢记的是什么。
对于如何操作以及我需要牢记的事情感到困惑(例如pom.xml
中的更改)
我已经尝试过的事情:
请帮助。
谢谢。
答案 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,资源。