【问题标题】:How to structure multiple mvc projects that share a domain model using IntelilJ如何使用 IntelliJ 构建共享域模型的多个 mvc 项目
【发布时间】:2013-07-01 20:23:46
【问题描述】:

我希望就如何构建/设置项目获得一些建议。

目前我们有一个使用 spring 和 JPA/hibernate 的 webapp。我们想创建一个管理 web 应用程序,它将单独存在,然后是我们需要支持的后端内容的“用户”web 应用程序。我们希望将其与现有项目分开,以便它们可以独立部署,因为它们具有不同的测试和可靠性要求,并且我们希望能够更快地迭代管理内容。这些是通过 maven 构建的 war 文件部署的。

尽管如此,我们确实希望他们共享域模型,并且我们也希望保留来自 web 应用程序的现有配置。因此,基本上我们希望能够将 Web 服务彼此分离,同时保持其他所有内容(应用上下文、Web 配置、持久性等)相同。

有没有一种很好的方法来分离 web 服务,或者我们基本上必须为每个 war 文件复制整个项目,或者保持它们锁定步骤?

【问题讨论】:

  • 在这里使用符号链接可能是个好主意。重复代码永远不是好方法:)

标签: java spring intellij-idea domain-driven-design


【解决方案1】:

将您的域模型(实体和 DAO 类)打包到单独的 jar 中。使用 maven 进行依赖管理。在公司本地存储库(例如:nexus)中分发此域模型 jar。然后在您的用户 web-app & admin web-app 上将其声明为依赖项。

使用这种机制时你唯一需要注意的是,当你更新领域模型并将新版本分发到 nexus 时,所有下游包依赖版本都必须更新和重新编译

【讨论】:

  • 不幸的是,这并没有真正做到我想要的。我仍然需要查看域模型的内部。我认为 git subtrees 会让我做我想做的事,但我仍然必须复制 web.xml/application-context.xml 等......,我认为这可能是我必须采用的解决方案。不是最优的,但目前似乎没有任何 IDE 支持我的用例。
  • 您仍然可以看到内部域模型——但只能通过单独的项目。但是是的,缺点是如果您更新域模型 jar,您必须确保它传播到您的客户端项目
猜你喜欢
  • 1970-01-01
  • 2013-08-31
  • 2012-11-20
  • 2014-04-14
  • 1970-01-01
  • 1970-01-01
  • 2011-12-07
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多