我需要创建一个Spring MVC Web应用程序,在其中应将每个服务创建为单独的JAR文件。一些文档的提示,多个Maven的模块可以用于此目的。但是据我了解,每个模块也需要作为一个单独的Eclipse项目创建。
我可以在同一个Eclipse项目中拥有所有的控制器,服务和DAO,同时仍然使用Maven为每个服务创建单独的jar(以及整个应用程序的war文件)吗?
答案 0 :(得分:1)
简短答案:
是的,您可以使用maven-jar-plugin(配置文件,执行)在单个项目中创建多个构建目标(jar文件)。
https://maven.apache.org/plugins/maven-jar-plugin/
您应该这样做吗?
我相信大多数人都会同意我的看法,即您不应该这样做,应该坚持Maven最重要的核心概念之一:模块化。
现在,您是否问过自己一个问题,我真的需要为我的应用程序创建多个模块(jar文件)吗? 我可以在一个项目中管理所有代码吗?
也许您只需要一些有关如何在一个项目中组织Java包的指导。
https://dzone.com/articles/layered-architecture-is-good-使用分层架构
http://www.javapractices.com/topic/TopicAction.do?Id=205-按功能对图层进行打包
注意:如果您认为您的项目将快速增长并且类的数量将会很多,那么成为多模块应用程序可能是一个不错的选择。
如果仍然有必须创建多个模块的感觉,那么有几篇有趣的文章介绍了如何解决应用程序设计中的模块化问题,在这些文章中,它们提供了非常有趣的理由/标准,您应该将应用程序拆分为模块。
How to decompose a system into modules?
Spring Java Maven Project + Module Design
祝你好运!
答案 1 :(得分:0)
分离的模块以及分离的Eclipse项目有什么问题?如果在模块之间声明了Maven依赖关系,则可以在相应的Eclipse项目中的类之间具有编译依赖关系。
所以我想可以将多个Maven模块强制到一个Eclipse项目中,但是我不知道这样做有什么充分的理由。