maven仓库之第一篇
maven jar仓库 :存放maven项目使用的jar包.
中央仓库,存放99%免费开源项目jar包,apache公司负责维护的,以T为单位的存储. 例如 : struts2-core-2.3.24 版本
maven项目通过坐标去仓库中,引入需要的jar包
groupId 公司信息, org.apache.struts
artifactId 项目信息, struts2-core
version 版本信息, 2.3.24 如果仓库中jar包很多,也可以对仓库创建索引提升查询速度.
pom文件存放maven jar包的坐标. maven依赖管理 : 就是对jar包管理的过程. 项目的一键管理:
一键构建,实际是指,对于项目的某个流程动作,可以通过maven一个命令实现(编译---测试--- 运行 --打包---安装)
什么是构建?
指的是项目从编译 --- 测试 --- 运行 --打包 ----安装整个过程都交给maven进行管理,这个过程称为构建. maven_home 的环境变量配置
%MAVEN_HOME%\bin;
maven_home 是maven程序的安装路径.
注意实现 : maven环境变量配置,必须要求,配置过JAVA_HOME变量名;
JAVA_HOME 必须是到jdk的安装目录可以看到bin;
JAVA_HOME 路径,不要有(x86)
配置环境变量是为了在命令行输入的命令,电脑会到path路径中寻找,你输入的命令,mvn. maven工程的目录结构 :
src 源码文件夹
main
java 开发的java代码;
resources 开发使用的配置文件;
webapp 相当于WebCotent 存放web工程的资源文件夹,css,jsp,image
text
java 测试使用的java代码
resources
pom.xml文件 是maven工程的核心配置文件,存放maven工程的坐标信息和maven项目使用的jar包坐标信息,其余的一些查询配置.
只能满足maven工程目录结构的项目,才能使用maven命令运行. 根据maven约定,一个比较标准的maven java web项目, 结合eclipse通常可以看到结构如下 :
src/main/java java主要代码存放目录
src/main/resources java配置文件存放目录
src/test/java java测试代码存放目录
JRE System Library jre中的一些jar包映射
Maven Dependencies 根据pom.xml配置的依赖而导入的jar包映射
src/main/webapp web相关的文件,如html等
src/test 这个目录暂时还没用过
target maven项目输出目录,例如生成多的war包
pom.xml maven项目最重要的一个文件 Maven命令:
compile :
compile是maven工程的编译命令,作用是将src/main/java下的文件编译为class文件输出到target目录下.
test :
test是maven工程的测试命令,mvn test,会执行src/test/java 下的单元测试类.
clean :
clean是maven工程的清理命令,执行clean会删除target目录及内容.
package :
package是maven工程的打包命令,对于java工程执行package打成jar包,对于web工程打成war包.
install :
install 是maven工程的安装命令,执行install将maven打成jar包或者war包发布到本地仓库.
deploye部署命令 :
是将打成的jar包或者war部署到公司私服服务器.
某些工具类,处理字符串,格式化日期,解析xml文件. 从运行结果中,可以看出:
当后妈的命令执行时,前面的操作过程也都会自动执行,在同一生命周期内运行后面的命令,会自动执行前面的命令. 三套生命周期 :
maven 对项目构建过程分为三套相互独立的生命周期,请注意这里说的是"三套",而且"相互独立",这三套生命周期分别是:
Clean Lifecycle 在进行真正的构建之前进行一些清理工作.
Default Lifecycle 构建的核心部分,编译,测试,打包,安装,部署等.
Site Lifecycle 生成项目报告,站点,发布站点. jar包冲突问题 :解决办法
<!-- maven项目使用jar包的坐标节点 -->
<dependencies>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>2.3</version>
<scope>provided</scope> <!-- 这个就解决jar包冲突问题 -->
</dependency>
</dependencies> Maven的目录结构 :
bin : 放入了一些命令 : mvn tomcat:run.
boot : 放了一些引导程序,类加载器.
conf : 配置文件.
lib : maven本身运行所需的jar包. pom.xml的配置文件 :
<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">
<modelVersion>4.0.0</modelVersion>
<groupId>com.baidu</groupId>
<artifactId>struts_maven</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>war</packaging>
<dependencies>
<dependency>
<groupId>org.apache.struts</groupId>
<artifactId>struts2-core</artifactId>
<version>2.3.24</version>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>2.3</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.10</version>
</dependency>
</dependencies> <build>
<plugins>
<!-- 设置编译版本为1.7 -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.7</source>
<target>1.7</target>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
</plugins>
</build> <properties>
<argLine>-Dfile.encoding=UTF-8</argLine>
</properties> </project> 依赖范围包括 :
依赖范围 : 对于编译classpath有效 对于测试classpath有效 对于运行时classpath有效 例子------------------------------
compile Y Y Y spring-core
test - Y - Junit
provided Y Y - servlet-api
runtime - Y Y JDBC驱动
system Y Y - 本地的,Maven仓库之外的类库.
maven仓库之第一篇的更多相关文章
- maven仓库之第二篇
1. 什么是maven? 它是一个软件开发的管理工具,主要管理的工作是:依赖管理,项目构建. 2. 使用maven的好处? 能够集中管理jar包,提供一键构建. 3. maven的安装及配置 配置:M ...
- 【第六篇】- Maven 仓库之Spring Cloud直播商城 b2b2c电子商务技术总结
Maven 仓库 在 Maven 的术语中,仓库是一个位置(place). Maven 仓库是项目中依赖的第三方库,这个库所在的位置叫做仓库. 在 Maven 中,任何一个依赖.插件或者项目构建的输出 ...
- 拥抱 Android Studio 之四:Maven 仓库使用与私有仓库搭建
使用.创造和分享 笔者曾经不思量力的思考过『是什么推动了互联网技术的快速发展?』这种伟大的命题.结论是,除了摩尔定律之外,技术经验的快速积累和广泛分享,也是重要的原因. 有人戏称,『写 Java,首先 ...
- N使用exus2打造企业maven仓库(三)
假设项目中,我没有使用maven,我应该做出选择,或为项目.或者用它来推动这个项目从maven.有人会问,为什么maven?无需maven我们没有很好的操作. 这里,只说两件事情我最欣赏:第一点是管理 ...
- Android studio Maven仓库使用
原文:How to distribute your own Android library through jCenter and Maven Central from Android Studio ...
- Maven系列第6篇:生命周期和插件详解,此篇看过之后在maven的理解上可以超越同级别90%的人!
maven系列目标:从入门开始开始掌握一个高级开发所需要的maven技能. 这是maven系列第6篇. 整个maven系列的内容前后是有依赖的,如果之前没有接触过maven,建议从第一篇看起,本文尾部 ...
- Maven系列第8篇:你的maven项目构建太慢了,我实在看不下去,带你一起磨刀!!多数使用maven的人都经常想要的一种功能,但是大多数人都不知道如何使用!!!
maven系列目标:从入门开始开始掌握一个高级开发所需要的maven技能. 这是maven系列第8篇. 整个maven系列的内容前后是有依赖的,如果之前没有接触过maven,建议从第一篇看起,本文尾部 ...
- Maven系列第9篇:多环境构建支持,核心开发必备!
maven系列目标:从入门开始开始掌握一个高级开发所需要的maven技能. 这是maven系列第9篇. 整个maven系列的内容前后是有依赖的,如果之前没有接触过maven,建议从第一篇看起,本文尾部 ...
- 简单的抓取淘宝关键字信息、图片的Python爬虫|Python3中级玩家:淘宝天猫商品搜索爬虫自动化工具(第一篇)
Python3中级玩家:淘宝天猫商品搜索爬虫自动化工具(第一篇) 淘宝改字段,Bugfix,查看https://github.com/hunterhug/taobaoscrapy.git 由于Gith ...
随机推荐
- Internet History,Technology,and Security -Technology: Application Protocols(Week7)
Week7 Technology: Application Protocols This week, we’ll be covering application protocols. With rel ...
- POJ2182题解——线段树
POJ2182题解——线段树 2019-12-20 by juruoOIer 1.线段树简介(来源:百度百科) 线段树是一种二叉搜索树,与区间树相似,它将一个区间划分成一些单元区间,每个单元区间对应线 ...
- jquery实现商品sku多属性选择(商品详情页)
转载于https://blog.csdn.net/csdn924618338/article/details/51455595 实现效果 源码 <!DOCTYPE HTML> <ht ...
- oracle中add_months()函数总结
今天对add_months函数进行简单总结一下: add_months 函数主要是对日期函数进行操作,在数据查询的过程中进行日期的按月增加,其形式为: add_months(date,int);其中第 ...
- 使用百度大脑iOCR,快速自定义机票行程单模板识别
1. 功能介绍百度已经推出了iOCR财会票据识别,针对财会报销场景提出的专项解决方案,可对各类财务票据.报销单.银行回单.对账单进行自动分类及结构化识别,并支持用户为固定版式的新票据/单据自定义结构化 ...
- 50道Redis面试题史上最全,以后面试再也不怕问Redis了
1.什么是Redis? Redis本质上是一个Key-Value类型的内存数据库,很像memcached,整个数据库统统加载在内存当中进行操作,定期通过异步操作把数据库数据flush到硬盘上进行保存. ...
- 阿里巴巴 Kubernetes 能力再获 CNCF 认可 | 云原生生态周报 Vol. 32
作者 | 丁海洋 陈有坤 李鹏 孙健波 业界要闻 阿里巴巴 Kubernetes 技术能力再获 CNCF 认可 CNCF 官网发布博文<Demystifying Kubernetes as ...
- 一泡尿的时间,快速读懂QUIC协议
1.TCP协议到底怎么了? 现时的互联网应用中,Web平台(准确地说是基于HTTP及其延伸协议的客户端/服务器应用)的数据传输都基于 TCP 协议. 但TCP 协议在创建连接之前需要进行三次握手(如下 ...
- Android Studio出现Failed to open zip file问题的解决方法
直接在网上找到gradle-3.3-all.zip下载下来,不要解压缩,放在类似下面的目录中 C:\Users\Administrator\.gradle\wrapper\dists\gradle-3 ...
- Spring Boot 的静态资源处理
做web开发的时候,我们往往会有很多静态资源,如html.图片.css等.那如何向前端返回静态资源呢?以前做过web开发的同学应该知道,我们以前创建的web工程下面会有一个webapp的目录,我们只要 ...