maven仓库之第一篇
Posted haizai
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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仓库之第一篇的主要内容,如果未能解决你的问题,请参考以下文章