博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
maven入门
阅读量:6684 次
发布时间:2019-06-25

本文共 2117 字,大约阅读时间需要 7 分钟。

hot3.png

1.概述

新项目需要用到SSH,和maven。以前从未接触过这玩意。现在来了解下。网上给的那些定义根本看不懂好吗。现在东拼西凑找点我能看懂的学学。

先说说maven是干嘛的:试图把软件开发过程中本该专人负责的事务性工作伪装成一门“技术”推给程序员,以便降低人工成本的一种工具(图省事)。

Maven功能:项目构建、项目依赖管理、软件项目持续集成、版本管理、项目的站点描述信息管理。

这说的是人话吗?

待我看看《maven实战》这本书系统的了解下再说。

以下做点摘录。

1.除了编写代码,我们每天有一部分时间花在了编译、运行单元测试、生成文档、打包等繁琐的工作上,这就是构建。现在我们需要软件构建像全自动流水线一样,只需要一条简单的指令,所有繁琐的步骤能够自动完成,很快能得到最终结果。

2.Mave能办我们自动化上述过程(按照某一个)。

3.Maven抽象了一个完整的构建生命周期模型,总结了大量项目的实际需求,如果遵循这个和模型可以避免

很多不必要的错误。

从实战中来吧:

2.在Windows上安装Maven

2.1.1检查JDK

        控制台输入 java -version ,出现以下结果

C:\Users\爹>java -version

java version "1.8.0_92"
Java(TM) SE Runtime Environment (build 1.8.0_92-b14)
Java HotSpot(TM) 64-Bit Server VM (build 25.92-b14, mixed mode)
2.1.2 下载Maven

http://maven.apache.org/download.cgi

Maven3完全兼容Maven2。

这篇文章写了配置Maven环境变量。

2.2安装m2eclipse插件

这篇文章讲解比较详细,进测试能成功。

使用命令行控制的Maven。不要使用IDE内嵌的Maven。

 

3.Maven使用入门

以一个Hello Word项目为例。

3.1编写POM

Maven 核心是pom.xml.(Project Object Medel,项目对象模型)定义了一个项目的基本信息,用于描述项目如何构建,声明项目依赖等

先写一个最简单的pom.xml文件。

 

4.0.0
com.lirui.hw
hello-word
1.0-SNAPSHOT
Maven Hello World Project

project是pom.xml的根元素。声明命名空间。虽然这些属性不是必须的,但是能让第三方工具(xml编辑器)帮助我们快速编辑POM。

modelVersion 指定当前pom版本。一般4.0.0。

groupId,artifactid,version定义了Maven一个项目的基本定义。任何jar,pom,war都是以这些基本坐标进去区分。

groupId 定义项目属于哪个组。(项目中某一个包名)

artifactid 定义当前项目在组中的唯一ID。(直接理解为项目名称吧)

version 定义当前项目版本,SNAPSHOT意为快照,说明项目还处在开发阶段。

配置maven项目可用命令行配置,具体《maven实战》有写,现在就看看通过eclipse创建maven工程,(同样可以用eclipse导入工程)算了,太简单,懒得说。

 

再摘录一些《maven实战》里面的话。

1.Maven的世界拥有熟练非常巨大的构件(jar,war包等)。Maven引入坐标概念之前,我们无法用任何方式来唯一地标识这些构建。(意思是我们要在各个不同的网站下载这些jar包,下载这些东西应该自动化,规范化)。

2.Maven定义了这样一组规则:世界上任何构件都可以用Maven坐标唯一标识。坐标元素包括 groupId,artifactId,version,packaging,classifier。只要我们提供正确的坐标,就能找到对应构建(Maven内置一个中央仓库,需要什么都往里面下载)。

坐标详解

groupId:定义当前Maven项目隶属的实际项目,一个实际项目划分成很多模块。类似于一个子项目实现了部分功能。groupId表示当前项目的父项目

artifactId:该元素定义了实际项目中的的一个Maven项目(模块)。定义实现某一功能的子项目。

version 当前maven项目的版本。

packaging 定义Maven项目的打包方式,jar,war。。。。(可选,默认是jar)

classifier 用来帮助构件输出一些附属构件。如主构建是。。。.jar。附属构建是javadoc.jar  source.jar  包含java文档和源代码。(不能直接定义)

 

转载于:https://my.oschina.net/marjeylee/blog/777594

你可能感兴趣的文章
best introduction to camera calibration
查看>>
1115 Counting Nodes in a BST
查看>>
ComboBox的真实值和显示值
查看>>
devices-list
查看>>
SQLI_LAB——Less7~15
查看>>
C# 多线程之List的线程安全问题
查看>>
python笔记第二天
查看>>
计蒜客NOIP模拟D1T2
查看>>
find的用法
查看>>
java的环境变量classpath中加点号 ‘.’ 的作用
查看>>
关于kafka生产者相关监控指标的理解(未解决)
查看>>
Ubuntu中搭建Hadoop2.5.2完全分布式系统(一)
查看>>
C++ new delete(二)
查看>>
css写出三角形(兼容IE)
查看>>
Ibatis.net 属性字段中使用 IN 查询条件
查看>>
codefores741A Arpa's loud Owf and Mehrdad's evil plan(图找环)
查看>>
Tiled 瓦片地图
查看>>
Qt字符串与整形转换
查看>>
A Course on Borel Sets Exercise 1.3.6 ii
查看>>
数据结构-栈
查看>>