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 ...
随机推荐
- ES6+转ES5(webpack+babel、指定多个js文件、自动注入)
接续上篇ES6+转ES5,本篇将使用webpack和babel将多个不同目录下指定的多个ES6+语法的js文件编译为ES5,并将编译后的文件配置注入对应的html文件. 所需环境node.npm.设置 ...
- 01-EF Core笔记之创建模型
使用EF Core的第一步是创建数据模型,模型建的好,下班走的早.EF Core本身已经设置了一系列约定来帮我们快速的创建模型,例如表名.主键字段等,毕竟约定大于配置嘛.如果你想改变默认值,很简单,E ...
- SSM框架整合之练习篇
SSM的练习 : 1开发环境 数据库:mysql5.5以上版本. Jdk:1.7 开发环境:Eclipse mars2 Spring:4.2.4 Mybatis:3.2.7 Tomcat:7 2数据库 ...
- Navicat Premium从远程Mysql数据库复制到本地数据库的方法
之前做在本地测试总是先去现在下一份数据库的sql,然后再在本地建一个相同的,导入sql.然后觉得有点麻烦,现在发现了一个直接远程直接复制一份到本地的方法 工具:Navicat Premium 1.先连 ...
- 百度大脑UNIT3.0智能对话技术全面解析
智能客服.智能家居.智能助手.智能车机.智能政务……赋予产品智能对话能力是提升产品智能化体验.高效服务的重要手段,已经开始被越来越多的企业关注并布局.然而,智能对话系统搭建涉及NLP.知识图谱.语音等 ...
- ShowDoc速记
编写文档好工具showdoc部署 参考:https://www.showdoc.cc/ 一定要看,一定要用卷,丢失数据的痛苦,痛何如哉. https://www.cnblogs.com/harrych ...
- IDEA开发、测试、生产环境pom配置及使用
pom文件 一般放在最下面,project里 <!--开发环境.测试环境.生产环境--> <!--生产环境--> <profiles> <profile> ...
- 检测一个App是不是有UWP血统
Win + Shift + Enter
- 基于titanic数据集预测titanic号旅客生还率
数据清洗及可视化 实验内容 数据清洗是数据分析中非常重要的一部分,也最繁琐,做好这一步需要大量的经验和耐心.这门课程中,我将和大家一起,一步步完成这项工作.大家可以从这门课程中学习数据清洗的基本思路以 ...
- Visual Studio安装工具和安装组件下载速度慢的问题
下载安装Visual Studio时在下面这个界面下载时速度只有几十KB每秒 解决办法:修改Host文件,在Host文件中添加下面代码,然后保存即可 110.53.72.104 download.vi ...