【1】Maven基础入门
Maven的核心程序中仅仅定义了抽象的生命周期,但是具体的工作必须由特定的插件来完成。而插件本身并不包含在Maven的核心程序中。
当我们执行的Maven命令需要用到某些插件时,Maven核心程序会首先到本地仓库中查找。如果在本地仓库找不到,则会联网到中央仓库进行下载。
内置属性(Maven预定义可以直接使用)
${basedir} 项目根目录 ${version}表示项目版本; ${project.basedir}同${basedir}; ${project.version}表示项目版本,与${version}相同; ${project.build.directory} 构建目录,缺省为target ${project.build.sourceEncoding}表示主源码的编码格式; ${project.build.sourceDirectory}表示主源码路径; ${project.build.finalName}表示输出文件名称; ${project.build.outputDirectory} 构建过程输出目录,缺省为target/classes
【1】Maven中的目录结构
该图为Java工程,非Web工程。
【2】Maven中的坐标:
<!--公司或组织域名倒序+项目名--> <groupId>com.atguigu.maven</groupId> <!-- 项目名不是类名--> <artifactId>Hello</artifactId> <!-- 版本号 --> <version>0.0.1-SNAPSHOT</version>
GroupID是项目组织唯一的标识符,实际对应JAVA的包的结构,是main目录里java的目录结构。
ArtifactID就是项目的唯一的标识符,实际对应项目的名称,就是项目根目录的名称。
【3】Maven工程的坐标与仓库中路径的对应关系
<groupId>org.springframework</groupId> <!-- 项目名不是类名--> <artifactId>spring-core</artifactId> <!-- 版本号,RELEASE表示稳定版本 --> <version>4.0.0.RELEASE</version> 对应仓库的路径: org\springframework\spring-core\4.0.0.RELEASE 对应jar:spring-core-4.0.0.RELEASE.jar
④ maven中的scope
compile:(默认的范围)编译,测试,运行
provided:编译,测试的时候有效,在运行时不会被加入 如:servlet api
runtime:在测试,运行时有效;如jdbc驱动包
test:在测试时有效
system:在编译,测试时有效(和provided相似),和系统相关联,可移埴性差
import: 用在dependencyManagent中。如:把a中的依赖导入b 中
【2】Maven的安装与环境配置
【1】解压核心程序
将apache-maven-3.2.2-bin.zip解压到一个非中文无空格的目录下。例如:D:\Java_Tomcat_MySQL_jdk_zip\Maven\apache-maven-3.2.2
【2】配置环境变量
M2_HOME `D:\Java_Tomcat_MySQL_jdk_zip\Maven\apache-maven-3.2.2 path `D:\Java_Tomcat_MySQL_jdk_zip\Maven\apache-maven-3.2.2\bin
【3】查看Maven版本信息验证安装是否正确
【4】Eclipse中配置Maven
【4】Eclipse中配置Maven
①默认本地仓库位置:~.m2\repository
~表示当前用户的家目录,例如:C:\Users[你当前登录系统的用户名]
②指定本地仓库位置的配置信息文件:apache-maven-3.2.2\conf\settings.xml
③在根标签settings下添加如下内容:[本地仓库路径,也就是RepMaven.zip的解压目录]
【6】添加profile
在settings.xml的profiles标签内添加如下,告诉maven使用jdk1.8.
<profile> <id>jdk-1.8</id> <activation> <activeByDefault>true</activeByDefault> <jdk>1.8</jdk> </activation> <properties> <maven.compiler.source>1.8</maven.compiler.source> <maven.compiler.target>1.8</maven.compiler.target> <maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion> </properties> </profile>
⑦ 使用阿里云仓库
<mirror> <id>alimaven</id> <name>aliyun maven</name> <url>http://maven.aliyun.com/nexus/content/groups/public/</url> <mirrorOf>central</mirrorOf> </mirror>