(一)Java工程化--Maven基础

简介: Maven 读作['mevən] 翻译成中文是"内行,专家"Maven是什么包依赖的前世今生:原始的jar包引用--> ant --> maven.是一种项目管理工具Maven优势:convertion over configuration 约定优于配置: 这个原则不仅适用于mav...

Maven 读作['mevən] 翻译成中文是"内行,专家"

Maven是什么

  1. 包依赖的前世今生:
    原始的jar包引用--> ant --> maven.
    是一种项目管理工具
  2. Maven优势:
  • convertion over configuration 约定优于配置: 这个原则不仅适用于maven, 更是目前大多数框架遵循的原则,如mvc
  • 简单
  • 易于测试
  • 构建简单
  • CI(持续集成)
  • 插件丰富

下载和安装

  1. 下载: http://maven.apache.org/download.cgi
  2. 安装: 解压安装即可
  3. 环境变量配置:
  • windows: 配置path MAVEN_HOME
  • linux: 在 .bash_profile 文件中
  • 运行参数: 定义环境变量MAVEN_OPS
  • 配置settings.xml: settings.xml文件是个空模板,我们可以在这个文件进行一些自定义配置. 常用的配置如:repo存储目录

创建maven项目

  • 项目结构: 遵循约定优于配置原则, 项目包的组织结构如下
    项目结构

  • pom.xml

    groupId 公司组织id
    artifactId 功能命名
    version 版本号
    packageing 打包方式,默认jar,可修改为maven-project,war
    dependancyManagement 最好之出现在父pom中,用于统一版本号,只做声明依赖,子模块pom中还需要引用,但不需要制定version.
    dependancy
    type 默认jar
    scope 指定哪个阶段适用,各阶段如下:
  1. compile 编译,打包,默认 如spring-core
  2. test 测试 如spring-test
  3. provided 编译 如servlet
  4. runtime 运行时 如JDBC驱动实现包
  5. system 本地一些jar
    依赖传递
    依赖仲裁:(1)最短路径原则,根据依赖树就近取最接近的版本;(2)加载顺序原则;(3)exclusions 排除包

命令: mvn dependancy:tree

Maven生命周期(三个过程)

区分术语:lifecycle/phase/goal

生命周期:

  1. clean

包含的phase: pre-clean --> clean --> post-clean

  1. default

compile package install deploy ...

  1. site

pre-site --> site -->post-site --> site-deploy

A Build Lifecycle is Made Up of Phases 一个构建生命周期是有多个phase组成

A Build Phase is Made Up of Plugin Goals 一个构建phase是由多个插件目标goal构成

相关文章
|
3天前
|
数据采集 前端开发 Java
Java医院绩效考核系统源码maven+Visual Studio Code一体化人力资源saas平台系统源码
医院绩效解决方案包括医院绩效管理(BSC)、综合奖金核算(RBRVS),涵盖从绩效方案的咨询与定制、数据采集、绩效考核及反馈、绩效奖金核算到科到组、分配到员工个人全流程绩效管理;将医院、科室、医护人员利益绑定;全面激活人才活力;兼顾质量和效益、长期与短期利益;助力医院降本增效,持续改善、优化收入、成本结构。
14 0
|
11天前
|
Java Maven
Maven 构建 Java 项目
使用Maven的`maven-archetype-quickstart`插件在C:\MVN下创建Java应用,命令包括`groupId`, `artifactId`, 和 `archetypeArtifactId`参数。生成的项目包含src/main/java和src/test/java目录,分别用于存放源代码和测试代码,还有src/main/resources用于资源文件。默认提供App.java主类和AppTest.java测试类。按照预设结构组织文件,Maven将自动管理构建过程。
|
14天前
|
Java 测试技术 项目管理
Java基础教程(22)-构建工具Maven的基本使用
【4月更文挑战第22天】Maven是Java项目管理及构建工具,简化构建、测试、打包和部署等任务。遵循约定优于配置原则,核心是`pom.xml`配置文件,用于管理依赖和项目信息。安装涉及下载、解压、配置环境变量。在IDEA中使用Maven创建项目,通过`pom.xml`添加依赖和管理版本。常用命令包括`clean`、`compile`、`test`、`package`、`install`和`deploy`。IDEA支持直接执行这些命令。
|
28天前
|
Java Apache 项目管理
使用Maven进行Java项目构建与依赖管理
【4月更文挑战第16天】Apache Maven是Java项目的核心构建工具,它基于POM进行项目管理和构建自动化,简化构建过程并管理依赖。Maven提供标准化的目录结构、自动依赖解决、丰富的插件生态、多模块构建支持和版本管理功能。通过安装Maven、创建项目、配置依赖、构建及使用插件,开发者能高效管理Java项目,提升开发效率。了解和掌握Maven对于Java开发者至关重要。
|
1月前
|
Java 应用服务中间件 Maven
使用IDEA搭建SpringMVC环境,Maven导入了依赖,但是运行报错 java.lang.ClassNotFoundException
使用IDEA搭建SpringMVC环境,Maven导入了依赖,但是运行报错 java.lang.ClassNotFoundException
20 1
|
1月前
|
Java 持续交付 项目管理
使用Maven进行项目管理:提高Java Web开发的效率
【4月更文挑战第3天】Maven是Java社区的标准项目管理工具,简化构建过程,自动化依赖管理和构建生命周期。它提供中央仓库下载库,支持多模块项目,且有插件机制执行各种任务。在Java Web开发中,Maven用于创建项目结构、管理依赖、自动化构建及运行插件。遵循最佳实践,如默认约定、使用版本控制和profiles,结合持续集成工具,能大幅提升开发效率。学习和使用Maven对提升Java Web开发效率至关重要。
|
1月前
|
搜索推荐 Java
Java基础(快速排序算法)
Java基础(快速排序算法)
25 4
|
2月前
|
Java Maven
运行maven项目出现Error:java: JDK isn‘t specified for module ‘XXX‘
运行maven项目出现Error:java: JDK isn‘t specified for module ‘XXX‘
16 0
|
5天前
|
Java Apache Maven
Maven 项目文档
在 `C:/MVN` 目录下创建 Maven 项目 `consumerBanking` 使用命令:`mvn archetype:generate -DgroupId=com.companyname.bank -DartifactId=consumerBanking -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false`。为解决 `mvn site` 命令执行时的 `NoClassDefFoundError`
|
14天前
|
Java Maven
idea中maven项目pom文件Could not acquire lock(s)
idea中maven项目pom文件Could not acquire lock(s)