综合技术 --maven

这里可以非常详细的了解maven,本人已经完整读过一次,值得推荐

http://www.yiibai.com/maven/


1. Maven的概念

Maven是一个项目管理和综合工具。它提供给开发人员构建一个完整的生命周期框架,它使用标准的目录结构和默认的生命周期。

2. Maven默认项目结构

Maven提供一个合理的默认配置,开发人员创建一个Maven项目时,必须使用Maven默认的项目结构。开发者只需要将相应的文件放到Maven默认项目结构目录下即可,同时需要在pom.xml中定义相关配置。

maven默认目录结构

假设${baseDir}表示项目位置,则maven的默认目录结构如下

item                    默认

source code        ${baseDir}/src/main/java

resources           ${baseDir}/src/main/resources

tests                  ${baseDir}/target/classes

complied byte code          ${baseDir}/src/test     

distributable JAR   ${baseDir}/target

3. Maven环境配置

maven是基于java的工具,所以要求必须安装有JDK。

3.1 安装jdk,设置环境变量,网上教程很多

验证java jdk是否安装成功,打开控制台,输入 java -version,如下图表示安装成功

综合技术 --maven

3.2 安装maven,设置环境变量,网上教程很多

maven可以从官网 http://maven.apache.org/download.htmll 直接下载

验证maven安装成功,打开控制台,输入 mvn -version,如下图表示安装成功

综合技术 --maven

4. maven pom

pom表示项目对象模型,它是maven的基本单位,是一个xml文件。

它包含了项目使用maven来构建该项目和各种配置的详细信息。

创建一个pom之前,我们应该先确定项目组Id(groupId)、项目名字(artifactId)、项目版本(version)等信息,这些属性在仓库中可以唯一标识该项目。

例子:

<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/maven-v4_0_0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.readygo</groupId>
  <artifactId>ZBSW</artifactId>
  <packaging>war</packaging>
  <version>0.0.1-SNAPSHOT</version>
  <name>ZBSW Maven Webapp</name>
  <url>http://maven.apache.org</url>
</project>

所有的pom文件要求项目元素必须有三个字段groupId、artifactId和version。如下:

	<!-- oracle -->
	<dependency>
		<groupId>com.oracle</groupId>
		<artifactId>ojdbc6</artifactId>
		<version>11.1.0.7.0</version>
	</dependency>
	
	<!-- commons-fileupload -->
	<dependency>
		<groupId>commons-fileupload</groupId>
		<artifactId>commons-fileupload</artifactId>
		<version>1.3.1</version>
        </dependency>

5. maven构建配置文件

生成配置文件可以用来设置或覆盖maven构建配置值的默认值。

默认的配置文件有三个

文件名称                         描述

env.properties                default configuration used if no profile is mentioned.

env.test.properties         test configuration when test profile is used.

env.prod.properties       production configuration when prod profile is used.

显示激活配置文件

<dependency>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-resources-plugin</artifactId>
    <version>2.5</version>
</dependency>

通过maven设置激活配置文件

打开maven的settings.xml文件可以在%user_home%, .m2目录表示用户的主目录。通过在settings.xml文件中激活配置文件。

6. maven资源库

maven资源库是存放项目中所有jar包的地方,maven库有三种类型:

local

central

remote

本地库

maven本地库是每个人自己计算机上的某个文件夹,当该maven项目第一次运行时,被创建。

当运行maven项目时,它会将该项目所有的依赖jar包都下载到本地。

maven本地存储库默认情况是创建在%user_home%目录,如果需要覆盖默认位置,则可以修改settings.xml文件,如下图

<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 
   http://maven.apache.org/xsd/settings-1.0.0.xsd">
      <localRepository>C:/MyLocalRepository</localRepository>
</settings>

中央存储库

maven的中央存储库是由maven社区提供的资源库,当maven在本地库没有找到依赖包,则自动去中央存储库查找。

远程仓库

这是开发商自定义的库,需要该库的用户可以设置自己的maven项目连接到远程仓库。

maven的依赖搜索序列

当我们执行maven构建命令时,maven的依赖库按照以下顺序开始寻找:

1> 搜索本地资源库,如果没找到到第二步

2>搜索中央存储库,如果没找到,要么报错、要么去第三步(如果设置了远程仓库)

3>如果没找到,则抛出异常(找不到依赖包)。

7. maven插件

maven实际上是一个插件框架,每一个任务都是由插件完成的。

8. myeclipse下创建maven项目

网上例子很多

9. 运行maven命令

在myeclipse中创建好maven项目后,右键-->run as-->maven build。



你可能感兴趣的:(综合技术 --maven)