gpt4 book ai didi

java - Maven:差异模块-java包

转载 作者:行者123 更新时间:2023-12-01 08:47:58 25 4
gpt4 key购买 nike

最近我开始使用 Maven 来更有效地管理我的项目结构。然而,由于我同时在学习JAVA,我已经走进了一个死胡同,MAVEN中的模块和JAVA包有什么区别

由于包用于对具有共同用途的类/接口(interface)进行分组:(来源:docs.oracle)

Definition A package is a grouping of related types providing access protection and name space management.

我找不到模块的明确定义,比模糊的定义更好:(来源:http://docs.jboss.org/tools/latest/en/maven_reference/html/creating_a_maven_application.html)

A Maven module is a sub-project

根据我的阅读,我们应该创建模块,以便分离项目、业务、领域中的逻辑,基本上任何被视为单独实体的东西。

因此,为什么我们不能对包的使用做同样的事情呢?目的不是一样吗?

我还忽略了这里的所有构建配置。如果这是唯一的区别,那么请提供论证何时应该使用哪一个。

最佳答案

Maven是一个捆绑工具,它将软件的可重用部分组装到一个应用程序中,无论是Java代码、图像资源还是HTML模板。它构建您的应用程序,以便可以在特定环境(本地、测试、生产等)中运行或部署。所有这些都与 Java 包无关。

如果您(或其他人)想要重用您编写的代码,您应该关心 Maven 模块。例如,您编写了一个用于转换货币的 Web 应用程序,现在您想在另一个应用程序中使用转换逻辑(但不是 Web 前端)。在这种情况下,您需要为 Web 前端创建一个模块,为业务逻辑创建一个模块。

关于java - Maven:差异模块-java包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42561194/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com