【发布时间】:2019-10-18 13:41:47
【问题描述】:
过去几周,我一直在用 Java 编写一个非常简单的区块链,作为 Intellij 的一个 maven 项目。当我开始这个项目时,我对驻留在单个模块中的所有内容都很好,尽管从技术上讲,需要构建两个工件才能使项目工作(一个可执行的 .jar 用于应用程序/控制逻辑,一个 .war 用于所有通过 tomcat 容器部署的 p2p 东西)。我使用单独的配置文件来构建 .jar 和 .war,并手动执行/部署它们。
然而,我已经厌倦了这一点,并相信将其拆分为一个多模块项目(一个 .war、.jar 和 .ear?也许..)是实现我的目标的唯一方法使用单个命令一次构建和执行/部署所有内容。我已经开始这样做了,但是对两个子模块之间的循环依赖关系感到困惑。我有依赖于网络端的应用程序端的代码,以及依赖于应用程序端的网络端代码。如何通过创建另一个模块和另一个 pom.xml 来解决这个问题?任何建议将不胜感激!请多多包涵,因为我还是 java/maven 的新手,这是我第一次真正破解任何复杂程度的应用程序。
【问题讨论】:
-
如果您使用的是 Spring,那么最好使用 SpringBoot 项目作为网络应用程序和服务器应用程序双方的解决方案,因为它会自行处理依赖管理,提供约定优于配置的方法,如果我是正确的,您的战争应该使用 JAR 作为依赖项,所以一切都应该在您用于战争文件的 pom 中进行
-
我没有使用 Spring,虽然当我第一次开始这个项目时我确实考虑过。
标签: java dependency-management multi-module cyclic-dependency