个人网站开论坛,心悦免做卡领取网站,微信小程序开发者文档,怎么用python做网页1.基本概念
Maven 是一个开源的项目管理和构建工具#xff0c;主要用于 Java 项目#xff0c;但也支持其他基于 JVM#xff08;Java Virtual Machine#xff09;的项目#xff0c;如 Scala、Groovy 等。它基于项目对象模型#xff08;Project Object Model#xff0c;P…1.基本概念
Maven 是一个开源的项目管理和构建工具主要用于 Java 项目但也支持其他基于 JVMJava Virtual Machine的项目如 Scala、Groovy 等。它基于项目对象模型Project Object ModelPOM的概念通过一个名为pom.xml的配置文件来管理项目的构建、依赖关系等重要方面。 项目对象模型POM - pom.xml 核心元素 groupId通常代表项目所属的组织或团体的唯一标识符类似于 Java中的包名。例如org.apache.maven中的org.apache表示 Apache 软件基金会这个组织。 artifactId是项目在组织内的唯一标识符也就是项目的名称。例如在org.apache.maven:maven - compiler - plugin中maven - compiler - plugin就是这个插件项目的 artifactId。 version指定项目的版本号遵循一定的版本命名规范如1.0.0 - SNAPSHOT表示快照版本通常用于开发过程中的不稳定版本或2.3.4表示正式发布版本。 依赖管理 在pom.xml中可以使用元素来声明项目所依赖的其他库或项目。例如 dependencyesdependencygroupIdorg.springframework/groupIdartifactIdspring - core/artifactIdversion5.3.0/version/dependency/dependencyes这就声明了项目依赖于 Spring 框架的spring - core库版本为5.3.0。Maven 会根据这些信息自动从本地或远程仓库获取所需的依赖项。 构建配置 可以在pom.xml中配置项目的构建相关信息如构建的源文件目录、目标文件目录、插件配置等。例如配置maven - compiler - plugin来指定 Java 编译的源版本和目标版本 buildpluginsplugingroupIdorg.apache.maven.plugins/groupIdartifactIdmaven - compiler - plugin/artifactIdversion3.8.1/versionconfigurationsource1.8/sourcetarget1.8/target/configuration/plugin/plugins/build2.依赖管理机制
依赖范围Scope compile这是默认的依赖范围。表示该依赖项在项目的编译、测试和运行阶段都需要。例如一个普通的 Java Web 项目中的 Spring 框架依赖在编译源代码、运行测试用例和实际运行项目时都需要用到。 test表示依赖项仅在测试阶段需要。如junit测试框架只用于编写和运行单元测试不会被包含在最终发布的项目中。 runtime依赖项在编译时不需要但在运行时是必需的。例如数据库驱动程序在编译项目时不需要数据库驱动但在运行项目连接数据库时就需要。 依赖传递性 如果项目 A 依赖项目 B项目 B 依赖项目 CMaven 会根据依赖的范围等因素来确定是否将项目 C 作为项目 A 的依赖项。例如如果 B 对 C 的依赖范围是compile且 A 对 B 的依赖范围也是compile那么 Maven 会自动将 C 作为 A 的依赖项传递依赖。 构建生命周期Build Lifecycle
2.常见阶段Phase clean用于清理项目删除之前构建过程中生成的文件如编译后的类文件、打包后的文件等。 compile编译项目的源代码将.java文件编译成.class文件。 test运行项目中的测试用例通常是基于junit或其他测试框架编写的单元测试和集成测试。 package将项目打包成可发布的格式如对于 Java 项目可以打包成.jar普通 Java 项目或.warJava Web项目文件。 install将打包后的项目安装到本地 Maven 仓库中以便其他本地项目可以依赖这个项目。 deploy将项目部署到远程 Maven 仓库通常用于发布项目到企业内部的仓库或者公共的 Maven 仓库供他人使用。 命令执行 可以通过在命令行输入mvn 来执行相应的构建阶段。 例如mvn clean install会先执行clean阶段清理项目然后执行install阶段完成编译、测试、打包并安装到本地仓库的一系列操作。
3.插件Plugins
常用插件 maven - compiler - plugin用于编译 Java 源代码如前面提到的可以配置编译的源版本和目标版本。 maven - war - plugin专门用于将 Java Web 项目打包成.war文件的插件可配置打包的相关参数如包含或排除某些文件。 maven - site - plugin用于生成项目的网站文档包括项目的 API 文档、项目报告等内容。 插件配置与执行 插件在pom.xml中进行配置除了配置基本的插件版本和参数外还可以通过绑定到构建生命周期的特定阶段来执行插件任务。 例如maven - compiler - plugin默认绑定到compile阶段当执行mvn compile时这个插件就会自动执行编译任务。
4.仓库Repositories
本地仓库Local Repository Maven 在本地计算机上维护一个本地仓库默认位于用户主目录下的.m2目录在 Linux 和 Mac 系统中或者C:\Users\ 用户名.m2目录在 Windows 系统。本地仓库用于存储从远程仓库下载的依赖项当构建项目时Maven 首先会在本地仓库中查找所需的依赖项。 远程仓库Remote Repository Maven 中央仓库这是最常用的远程仓库地址为https://repo.maven.apache.org/maven2/其中包含了大量开源项目的库。 私有仓库企业或组织可以搭建自己的私有仓库用于存储内部开发的库或者无法从公共仓库获取的第三方库。项目可以配置同时从公共仓库和私有仓库获取依赖项。