三、Maven简单介绍

Maven项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档的软件项目管理工具。

安装
  • 去maven官网http://maven.apache.org/download.cgi 下载最新的maven安装包
  • 解压后放到自己希望的目录下面,例如/usr/local/apache-maven-3.3.9
  • 添加环境变量M3_HOME 和MAVEN_HOME,以及PATH

export M3_HOME=/usr/local/apache-maven-3.3.9
export MAVEN_HOME=/usr/local/apache-maven-3.3.9
export PATH=$M3_HOME/bin:$PATH

  • 验证:输入mvn -version指令,如果一切正常,可以看到如下信息:

KevindeMacBook-Pro:Documents kevin$ mvn -version
Apache Maven 3.3.9 (bb52d8502b132ec0a5a3f4c09453c07478323dc5; 2015-11-11T00:41:47+08:00)
Maven home: /usr/local/apache-maven-3.3.9
Java version: 1.8.0_101, vendor: Oracle Corporation
Java home: /Library/Java/JavaVirtualMachines/jdk1.8.0_101.jdk/Contents/Home/jre
Default locale: zh_CN, platform encoding: UTF-8
OS name: "mac os x", version: "10.11.4", arch: "x86_64", family: "mac"

更新Maven本地库

Maven的本地资源库是用来存储所有项目的依赖关系(插件jar和其他文件,这些文件被Maven下载)到本地文件夹。很简单,当你建立一个Maven项目,所有相关文件将被存储在你的Maven本地仓库。

默认情况下,Maven的本地资源库默认为 .m2 目录文件夹:
Unix/Mac OS X – ~/.m2
Windows – C:\Documents and Settings{your-username}.m2

可以到找到 {M2_HOME}\conf\setting.xml, 更新 localRepository 到其它名称。

{M2_HOME}\conf\setting.xml

Maven远程存储库

在Maven中,当你声明的库不存在于本地存储库中,也没有不存在于Maven中心储存库,该过程将停止并将错误消息输出到 Maven 控制台。

告诉 Maven 来获得 Java.net 的依赖,你需要声明远程仓库在 pom.xml 文件这样:
Java.net资源库:

<repositories>
  <repository>
    <id>java.net</id>
    <url>https://maven.java.net/content/repositories/public/</url>
  </repository>
</repositories>

JBoss Maven资源库:

<repositories>
  <repository>
    <id>JBoss repository</id>
  <url>http://repository.jboss.org/nexus/content/groups/public/</url>
  </repository>
</repositories>
Maven依赖机制

传统的项目管理中需要我们自己来下载依赖,有了Maven之后,可以

<dependencies>
  <dependency>
    <groupId>log4j</groupId>
    <artifactId>log4j</artifactId>
    <version>1.2.14</version>
  </dependency>
</dependencies>
定制库到Maven的本地资源库

当需要使用的jar不存在于Maven的中心资源库的时候,就需要定制该库到中心资源库:

mvn install:install-file -Dfile=c:\kaptcha-{version}.jar -DgroupId=com.google.code -DartifactId=kaptcha -Dversion={version} -Dpackaging=jar
创建Java项目

想要用maven创建一个java项目,则需要键入以下命令:

mvn archetype:generate -DgroupId={project-packaging} -DartifactId={project-name}-DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false

为了使它变成一个eclipse项目,则:

mvn eclipse:eclipse

更新pom.xml,笔者使用的是JDK 1.8版本,所以:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-compiler-plugin</artifactId>
    <version>2.3.2</version>
    <configuration>
        <source>1.8</source>
        <target>1.8</target>
    </configuration>
</plugin>

从更新JUnit 3.8.1到最新的 4.11:

<dependency>
  <groupId>junit</groupId>
  <artifactId>junit</artifactId>
  <version>4.11</version>
  <scope>test</scope>
</dependency>

打包:

mvn package

运行:

java -cp target/HelloWordMaven-1.0-SNAPSHOT.jar com.kevin.App
通过Maven创建web项目

命令如下:

$ mvn archetype:generate -DgroupId=com.kevin -DartifactId=HellowWorldMavenWeb -DarchetypeArtifactId=maven-archetype-webapp -DinteractiveMode=false
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,306评论 19 139
  • Maven简单介绍 Maven是一个项目管理工具。强大,但是很容易使用。 它包含了: 一个项目对象模型 (Proj...
    高公子Daniel阅读 9,709评论 4 60
  • Spring Boot 参考指南 介绍 转载自:https://www.gitbook.com/book/qbgb...
    毛宇鹏阅读 47,016评论 6 342
  • 人有钱时,放屁都是香的 人有钱时,遇到什么糟糕的事都神清气爽 人有钱时,普天之下皆朋友,没有不认识你的人 人有钱时...
    谋商学院阅读 2,532评论 1 2
  • 01 读者G给我写信,说谈过两次恋爱,但都不得而终。最后年龄大了,对方有房有稳定的工作,也不管爱不爱就嫁了。因为身...
    遇见莲心阅读 1,878评论 0 5