所以我在一家使用spring作为后端,gitlab作为ci/cd的公司工作。我们目前有两个spring项目使用大量的共享代码。主要是jpa存储库、模型、dto和服务。我们正在寻找一种解决方案,使我们能够更轻松地在项目之间共享对共享代码所做的更改。例如,如果我们在项目a的存储库中创建一个新查询,我们希望能够在项目b中拥有它,而不需要复制和粘贴代码。欢迎任何建议。
vbopmzt11#
我相信@andrew remark能够很好地处理这个案例,所以我们将分享一些可以执行的步骤。创建一个新的项目(common util),该项目可以具有spring引导功能,也可以不依赖于要从项目中分离出的项的类型。否则,如果您正在寻找di或jpa等其他项目,那么它可能是一个具有spring功能的普通java项目。现在将此项目作为依赖项添加到项目a和b中,现在对于公共util中的每个更改,您只需要更新项目a和b中的最新版本。公共用途的pom示例:
<groupId>com.xyz.groupid</groupId> <artifactId>common-util</artifactId> <version>1.0.0</version>
项目a的pom示例:
<groupId>com.xyz.groupid</groupId> <artifactId>A</artifactId> <version>1.0.0</version> <dependency> <groupId>com.xyz.groupid</groupId> <artifactId>common-util</artifactId> <version>1.0.0</version> </dependency>
项目b的pom示例:
<groupId>com.xyz.groupid</groupId> <artifactId>B</artifactId> <version>1.0.0</version> <dependency> <groupId>com.xyz.groupid</groupId> <artifactId>common-util</artifactId> <version>1.0.0</version> </dependency>
1条答案
按热度按时间vbopmzt11#
我相信@andrew remark能够很好地处理这个案例,所以我们将分享一些可以执行的步骤。
创建一个新的项目(common util),该项目可以具有spring引导功能,也可以不依赖于要从项目中分离出的项的类型。否则,如果您正在寻找di或jpa等其他项目,那么它可能是一个具有spring功能的普通java项目。
现在将此项目作为依赖项添加到项目a和b中,现在对于公共util中的每个更改,您只需要更新项目a和b中的最新版本。
公共用途的pom示例:
项目a的pom示例:
项目b的pom示例: