转载请注明出处: http://qiudeqing.com/tools/2015/07/04/maven.html

安装

  1. 下载[maven 3.3.3]
  2. 解压到本地文件夹, 如/Users/qiudeqing/Desktop/tools/apache-maven-3.3.3
  3. 终端执行: vim ~/.bash_profile输入以下内容并保存:
  M3_HOME=/Users/qiudeqing/Desktop/tools/apache-maven-3.3.3

  PATH=$M3_HOME/bin:$PATH

  export M3_HOME
  export PATH
  1. 重新打开终端执行: mvn --version, 如果输出版本信息即表示成功

修改Local Repository

maven目录下conf/settings.xml下找到

<localRepository>/path/to/local/repo/</localRepository>

修改为所需的目录

集成Eclipse

  1. 在Eclipse窗口执行Cmd + ,打开偏好,选择: Maven -> Installations, add浏览前面安装的Maven,并apply
  2. 在偏好中选择: Maven -> User Settings, 选择Maven目录下的conf/settings.xml

从archetype创建项目

mvn archetype:generate -DgroupId=com.qiudeqing -DartifactId=my-app -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false -DarchetypeCatalog=internal

安装第三方jar到本地仓库

项目使用的第三方jar文件没有发布到官方仓库. 需要手动安装到本地仓库.

Maven提供了安装插件完成这个任务详细内容查看安装第三方jar教程

通用方法:

mvn install:install-file
-Dfile= \ -DgroupId= \ -DartifactId= \ -Dversion= -Dpackaging=

mvn install:install-file
-Dfile=spring-security-core-4.1.3.RELEASE.jar
-DgroupId=org.springframework.security
-DartifactId=spring-security-web
-Dversion=4.1.3.RELEASE
-Dpackaging=jar

mvn install:install-file
-Dfile=freemarker-2.3.25-incubating.jar
-DgroupId=org.freemarker
-DartifactId=freemarker
-Dversion=2.3.25-incubating
-Dpackaging=jar

如果有pom.xml:

mvn install:install-file -Dfile= -DpomFile=

如果是maven打包的jar默认已经包含了pom.xml

mvn install:install-file -Dfile=.

如何删除别人错误引入的jar包

依赖的jar包没有正确设置导致不需要的jar文件输出到lib目录下产生错误, **如何防止这些jar包输出到lib目录下?**

在项目的pom.xml中明确设置多余的jar包<scope>provided</scope>, 这样就排除掉了, 如:

<dependency>
  <groupId>javax.servlet</groupId>
  <artifactId>servlet-api</artifactId>
  <version>2.3</version>
  <scope>provided</scope>
</dependency>

maven项目标准目录

Maven项目目录

创建基于Maven的java项目

1) mkdir app-blank创建项目文件夹, 以后的路径和命令都基于此目录

2) 创建pom.xml配置项目基本信息并添加junit依赖

<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.qiudeqing</groupId>
    <artifactId>app-blank</artifactId>
    <packaging>jar</packaging>
    <version>1.0-SNAPSHOT</version>
    <name>app-blank</name>
    <url>http://maven.apache.org</url>

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <junit.version>4.12</junit.version>
    </properties>

    <dependencies>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>${junit.version}</version>
        </dependency>
    </dependencies>

</project>

3) 创建src/main/java/com/qiudeqing/app/App.java

package com.qiudeqing.app;

public class App {
  public static int getInt(int i) {
    return i;
  }
}

4) 创建src/test/java/com/qiudeqing/app/AppTest.java

package com.qiudeqing.app;

import static org.junit.Assert.assertEquals;
import org.junit.Test;

public class AppTest {

  @Test
  public void getIntTest() {
    int i = 3;
    int result= App.getInt(3);
    assertEquals(i, result);
  }
}

5) 命令行执行mvn test, 运行测试用例

6) 命令行执行mvn eclipse:eclipse -Dwtpversion=2.0添加Eclipse支持, 可以在Eclipse中import本项目

参考资料