maven入门基础知识
来源:互联网 发布:网络推广代理公司 编辑:程序博客网 时间:2024/05/01 03:19
一、 使用需求
jar包的依赖与管理
项目中有很多的jar包,同时出现了很多的问题,
比如:不能确定jar包的正确性,有的人从官网上下载jar包,而有的人从百度上下载,造成了jar包的正确性不确定。
比如:不同版本的技术框架管理,Struts框架有Struts1.x和Struts2.x,Spring有Spring3.X和Spring4.X等,不同版本的技术框架用法不同,作用不同。
比如:jar包的依赖性,我们可能不知道jar包与jar包之间的依赖管理等。
自动构建发布项目
–软件开发:可行性分析、需求分析、软件设计、编码、发布、运行维护等步骤。
–软件构建:软件开发完毕,需要构建成一个产品来发布。
构建步骤:
编译–>测试–>报告–>打包–>安装–>部署到远程
使用maven可以用一个命令自动构建软件项目。
二Maven介绍
概念
Maven是apache旗下采用纯java编写的开源项目管理工具,Maven采用一种叫做Project Object Model(POM)概念来管理项目,所有的配置信息都定义在一个叫做pom.xml的文件中,通过该配置文件,Maven可以管理项目的整个声明周期,包括:清除、编译、测试、打包、部署等等。
POM思想,将整个项目当成一个对象,即项目对象模型。
Maven与ant和svn的区别
1. maven和ant的区别:
都是软件构建管理工具,但是maven更加强大,取代的ant,尤其是拥有jar包声明式依赖和jar包仓库功能。
2. maven与svn的区别:
maven是软件构建工具,软件的源码已经完毕,需要构建,部署和发布。
而svn是软件的版本管理工具,是协同开发工具。在svn仓库中有源码的保存,历史版本的备份和各个版本的修改情况。
Maven目录结构
lib: 共享库,maven软件依赖的jar包。
boot: 该目录下有plexus-classworlds-2.5.2.jar文件,该jar文件是jar包下载引擎,通过该工具下载jar包。
–项目第三方的jar包
–maven本身的软件构建的声明周期的插件jar包,默认是没有的,包括清除插件,编译插件,打包插件等等。
conf: settings.xml:maven配置文件,包括本地仓库的地址和服务器的验证。
bin: maven可以执行的命令。
Maven的安装配置
1) 在apache官网上下载maven文件(apache-maven-3.3.9.zip),解压后放在某个盘下的根目录,比如D:\apache-maven-3.3.9。
2) 配置环境变量M2_HOME: D:\apache-maven-3.3.9,并将M2_HOME加入到Path变量中
%M2_HOME%\bin
3)在命令提示符中输入mvn -version出现如图:
创建满足maven规约的项目
约定优于配置
按照maven规定的目录结构,创建java项目。(第一次建议手动创建)
–|src
–|mian
–|java:包和类
–|resource:资源文件
–|test
–|java
–|resource
–|target:可以有可以无,是src编译后输出的目录
–|pom.xml:项目对象模型,maven的核心配置文件
构建软件生命周期的常用命令:
clean:清除 mvn clean
compile:编译 mvn compile
test:测试 mvn test
package:打包 mvn package
install:安装到本地仓库 mvn install
deploy:部署,部署到私服(局域网或者外网) mvn deploy
pom.xml的介绍
<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <!-- pom的版本 --> <modelVersion>4.0.0</modelVersion> <!--组id maven用id坐标概念来识别jar包 坐标=组id+artifactId+version --> <groupId>cn.itcast.maven</groupId> <!--构建物id:产品id --> <artifactId>Hello</artifactId> <!--版本,SNAPS HOP:测试版本或者镜像版本 release:发行版本,最终版本--> <version>0.0.1-SNAPSHOP</version> <!-- 发布的是jar包,默认是jar包,也可以是war包 --> <packaging>jar</packaging> <!-- 项目的名称,可以不写 --> <name>Hello</name> <dependencies> <!-- jar包声明式依赖 --> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.9</version> <!-- 依赖jar包使用的范围, test:测试时候使用该jar包 除此之外还有compile(默认):编译 --> <scope>test</scope> </dependency> </dependencies></project>
MyEclipse集成maven
1. 配置MyEclipse
MyEclipse集成了maven
也可以指定版本
配置usersettings
在MyEclipse之中创建java项目
1. file–>new–>other–>MyEclipse–>Maven4MyEclipse–>Maven Project
2. 创建简单的满足maven规约的java项目
3. 填写项目信息,完成
搭建maven私有服务器
Nexus介绍:
是开源框架,属于sonatype机构,用该框架架设maven私有服务器。
Nexus环境搭建(war包版本)
–从www.sonatype.org/nexus/下载
–把nexus.war放到tomcat的webapp下。
–浏览且登录,账号:admin,密码:admin123
http:/localhost:8080/nexus-*版本
Nexus仓库分类
–hosted:宿主仓库,该仓库属于该公司私有的。
–|3rd part:第三方的jar包,可能是个小框架,没办法放入到中心仓库的jar包。
–|snapshop:测试版本或者镜像版本
–|release:发行版本
–proxy:代理仓库,代理中心仓库的jar包
–public:仓库组,虚拟的概念,可以包含其他的仓库
通过私服上传下载jar包
–上传jar包
–直接上传jar包
通过网站资金额上传jar包。
–把MyEclipse项目上传到私服
–从私服中依赖jar包(下载jar包)
如果没有私服,本地仓库找不到则直接访问中心仓库。
如果有私服,则访问顺序为:本地仓库私服中心仓库
更改pom.xml配置。
- maven入门基础知识
- 【maven】 入门必备基础知识--实用版
- maven基础知识
- Maven基础知识
- maven基础知识
- Maven基础知识
- maven基础知识
- Maven基础知识
- maven基础知识
- maven基础知识
- maven基础知识
- maven基础知识
- Maven基础知识
- MAVEN基础知识
- maven基础知识
- Maven系列一:基础知识
- maven的基础知识
- maven进阶:基础知识
- 过早的优化是万恶之源,细数优化7大原则
- html中表单post方法与php还有sql交互的最简单demo
- 字符串的拼接
- 创建第一个node,express,ejs网站详细介绍
- 2016/08/20 接口
- maven入门基础知识
- Linux服务器使用情况简单介绍
- Top K Frequent Elements
- 子类构造和析构被执行时是否调用父类以及调用顺序
- 化学盐
- HDU5091->线段树维护区间覆盖次数&&扫描线
- 时滞微分方程求解之三ddesd--变时滞
- kxmovie源码详解
- 0-1背包问题