java - 使用 Maven 模块化项目

标签 java maven jakarta-ee

我有一个现有项目,我将把它分成三个项目。假设现有项目名为 A。我想提取可以在其他两个项目 B 和 C 中使用的逻辑。所以现在项目 A 仅依赖于 B 和 C,并且项目 A 具有该特定项目的专用代码。然而,B 和 C 都需要 User 类才能工作(安全)。目前我在任何地方都使用相同的 User 类。是否可以在每个项目中使用相同的 User 类,如果可以的话如何?你会把它放在哪里?不同的项目使用相同的 User 类听起来是不是一个坏主意?如果我需要处理多个 User 类,我应该如何在它们之间进行转换?

最佳答案

最好的方法是创建一个多模块构建,如下所示:

 project-app (pom.xml)
  +-- project-A (pom.xml) dep: project-B,project-C
  +-- project-B (pom.xml) dep: user
  +-- project-C (pom.xml)
  +-- user (pom.xml)

这将解决您的要求。但您的开发可能会超出范围,这意味着您想要创建另一个项目,让我们称之为 project-new-app,它也需要用户类。这将表明您必须进入另一个方向,例如。为用户部分创建一个单独的项目:

user (pom.xml)

现在project-new-app可以使用用户部分作为简单的依赖项:

project-new-app (pom.xml) dep: user
  +--- maybe more..

之后您的所有项目都可以依赖于该用户项目。所以原来的project-app:

 project-app (pom.xml)
  +-- project-A (pom.xml) dep: project-B,project-C
  +-- project-B (pom.xml) dep: user
  +-- project-C (pom.xml)

关于java - 使用 Maven 模块化项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17357304/

相关文章:

java - 在 javafx 中的数组列表中创建和存储不同数量的形状

java - LDAP:在身份验证事件期间获取自定义值

java - 我如何退出可运行并切换另一个 Activity

tomcat - 如何使用单个命令部署和安装

maven - Spring应用程序未映射到Tomcat中

java - 用户输入的数据未在托管 bean 中更新

java - 我去哪里购买 Java EE jar?

java - 如何只读取 json 响应中的一个值?

java - maven排除依赖中的插件

tomcat - 为什么 Play 需要分解的 WAR?