• 信步漫谈之Maven—基础介绍


    Maven 是一个项目管理和构建自动化工具,最直接的讲,就是可以通过配置 pom.xml 文件关联 jar 仓库中的 jar 包,方便项目的管理。
    一般情况下,maven 项目的结构都如下所示:

    这里写图片描述

    一、Maven安装

    1)下载 maven 安装包,例如:apache-maven-3.0.5(官网:http://maven.apache.org/)
    2)maven 环境变量配置,配置方式跟 jdk 有些类似。新建环境变量 MAVEN_HOME(值为 maven 的根目录)、然后在 PATH 环境变量里加入 %MAVEN_HOME%in; 即可。
    3)设置 setting.xml 文件,配置本地仓库。apache-maven-3.0.5conf下有个 setting.xml 文件,打开,localRepository 的值设置成本地仓库的路径。

    settings.xml

    4)在 eclipse 上安装 maven 插件(下载插件包,解压后把对应的 features 和 plugins 这两个文件夹的内容复制到 eclipse 相同文件夹里面即可,然后重启 eclipse),打开 Window->Preferences,可以看到 Maven 配置项。

    image

    5)Windows–>Prefrences–>Installations–>Add。installation name 选 maven 的根目录(就是之前本地安装的 apache-maven-3.0.5),OK 即可。

    注意:
    1.eclipse 在安装 maven 插件后,默认使用 Maven 的 setting.xml 文件读取目录为 C:Users 当前登录用户名 .m2,但是他不会自动生成 setting.xml 文件,需要我们手动加入。
    2.eclipse 在安装 maven 插件后,也有一个内嵌的 maven,这个内嵌的 Maven 通常会比较新,但不一定很稳定,而且往往也会和我们在命令行使用的 Maven 不是同一个版本。这里有会出现两个潜在的问题:首先,较新版本的 Maven 存在很多不稳定因素,容易造成一些难以理解的问题;其次,除了 IDE,我们也经常还会使用命令行的 Maven,如果版本不一致,容易造成构建行为的不一致,这是我们所不希望看到的。因此,我们应该在 IDE 中配置 Maven 插件时使用与命令行一致的 Maven。

    二、创建Maven项目

    在 eclipse 中右键创建项目 New->Other,选择 Maven 项目

    image

    image

    image

    这时候,我们有个可选项 Create a simple project(skip archetype selection),eclipse 默认会为使用者提供一些 maven 项目骨架,如果勾选了这项,则我们将跳过使用默认骨架,自己定义 maven 项目的基础结构。

    image

    groupId:项目或者组织的唯一标志,并且配置时生成路径也是由此生成,如 com.alfred.test 生成的相对路径为:/com/alfred/test
    artifactId:项目的通用名称
    version:项目的版本
    packaging:打包机制,如 pom,jar,maven-plugin,ejb,war,ear,rar,par,一般 java 项目选址 jar,web 项目选址 war
    name:用户描述项目的名称,无关紧要的东西,可选
    description:应该是只是写明开发团队的网站,无关紧要,可选

    imageimage

    注意:在实际项目中,如果需要添加外部依赖 jar 包,可以在 pom.xml 中添加依赖节点 dependencies->dependency

    <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.alfred.jetty</groupId>
        <artifactId>jetty-base</artifactId>
        <version>1.0.0-SNAPSHOT</version>
        <name>Jetty基础</name>
        <packaging>war</packaging>
        <dependencies>
            <dependency>
                <groupId>org.eclipse.jetty</groupId>
                <artifactId>jetty-server</artifactId>
                <version>8.1.19.v20160209</version>
            </dependency>
            <dependency>
                <groupId>org.eclipse.jetty</groupId>
                <artifactId>jetty-webapp</artifactId>
                <version>8.1.19.v20160209</version>
            </dependency>
            <dependency>
                <groupId>org.eclipse.jetty</groupId>
                <artifactId>jetty-servlet</artifactId>
                <version>8.1.19.v20160209</version>
            </dependency>
        </dependencies>
    </project>

    三、Maven的常用命令

    1. 创建 Maven 的普通 java 项目:
    mvn archetype:create -DgroupId=packageName -DartifactId=projectName
    2. 创建 Maven 的 Web 项目:
    mvn archetype:create -DgroupId=packageName -DartifactId=webappName -DarchetypeArtifactId=maven-archetype-webapp
    3. 编译源代码:mvn compile
    4. 编译测试代码:mvn test-compile
    5. 运行测试:mvn test
    6. 产生site:mvn site
    7. 打包:mvn package
    8. 在本地 Repository 中安装 jar:mvn install
    9. 清除产生的项目:mvn clean
    10. 生成 eclipse 项目:mvn eclipse:eclipse
    11. 生成 idea 项目:mvn idea:idea
    12. 组合使用 goal 命令,如只打包不测试:mvn -Dtest package
    13. 编译测试的内容:mvn test-compile
    14. 只打 jar 包: mvn jar:jar
    15. 只测试而不编译,也不测试编译:mvn test -skipping compile -skipping test-compile
    ( -skipping 的灵活运用,当然也可以用于其他组合命令)
    16. 清除 eclipse 的一些系统设置:mvn eclipse:clean

  • 相关阅读:
    自动控制中的泛函分析(一)
    自动控制中的泛函分析(一)
    Andrew Ng机器学习课程15
    Andrew Ng机器学习课程14(补)
    Andrew Ng机器学习课程14(补)
    关于PADS的一些概念和实用技巧(一)
    关于PADS的一些概念和实用技巧(一)
    Andrew Ng机器学习课程14
    Andrew Ng机器学习课程14
    《数学之美》之计算复杂度
  • 原文地址:https://www.cnblogs.com/alfredinchange/p/5877402.html
Copyright © 2020-2023  润新知