美文网首页
maven入门及使用

maven入门及使用

作者: 浊水i | 来源:发表于2017-12-06 17:20 被阅读0次

1.maven为我们提供了一个archetype插件,用于创建符合maven规范的目录骨架。

    maven规定是:
    ---src
        ---main
            ---java
                ---主代码
        ---test
            ---java
                ---测试代码
    命令:
        mvn -v   查看maven版本
        compile  编译
        test     测试
        package  打包
      
        clean     删除target
        install   安装jar包到本地仓库中
        
        
        创建目录的两种方式:
        1.archetype:generate 按照提示进行选择
        2.artchetype:generate -DgroupId=组织名,公司网址的反写+项目名
                              -DartifactId=项目名-模块名
                              -Dversion=版本号
                              -Dpackage=代码所存在的包名

3.在maven世界中任何一个依赖、插件、项目构建的输出都可以被称为构建,构
件通过坐标作为其唯一标识。

    坐标
        构件
    仓库
        本地仓库和远程仓库
        在maven的安装目录中---lib---maven-model-builder-3.3.3.jar中有pom.xml
    镜像仓库
        在maven的安装目录中--config--settings.xml--mirrors标签(145行)
        <mirror>
            <!--镜像仓库的ID-->
            <id>maven.net.cn</id>
            <!--为哪个仓库配置镜像,中央仓库名为central,也可以使用通配符*-->
            <mirrorOf>central</mirrorOf>
            <name>central mirror in china</name>
            <url>http://maven.net.cn/content/groups/public</url>
        </mirror>
    更改仓库的位置
        找到settings.xml---<localRepository>标签(注意路径是/)
        <localRepository>J:/test/repository</localRepository

4.在Eclipse中使用maven(如果是4.0以上或者Myeclipse就不必安装插件)
1.找到Eclipse的dropins文件夹,把maven插件放入即可
2.修改Eclipse的jvm:找到eclipse.ini文件,打开添加-vm:c:\java...\javaw.exe
3.修改Eclipse中jre的配置
4.修改maven中的路径设置

    1.一个完整的项目构建过程包括:
        清理、编译、测试、打包、集成测试、验证、部署
    2.maven生命周期:
        clean    清理项目,分为三个阶段
             pre-clean  执行清理前的工作
             clean      清理上一次构建生成的所有文件
             post-clean 执行清理后的文件
             
        default  构建项目(最核心)包括:
            compile、test、package install
        
        
        site     生成项目站点包括以下阶段:
            pre-site  在生成项目站点前要完成的工作
            site      生成项目的站点文档
            post-site 在生成项目站点后要完成的工作
            site-deploy 发布生成的站点到服务器上
    3.maven支持的插件简单介绍:(https://maven.apache.org/plugins/index.html)
        source  可以将项目的源码进行打包
            举例:在pom.xml中配置
                <build>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-source-plugin</artifactId>
                        <version>2.4</version>
                        <!--绑定source命令到packge命令生命周期中,
                        执行package命令时,自动执行source命令-->
                        <executions>
                            <execution>
                                <phase>package</phase>
                                <!--运行的目标-->
                                <goals>
                                    <goal>jar-no-fork</goal>
                                </goals>
                            </execution>
                        </executions>
                    </plugin>
                </build>
            然后执行  clean package命令

5.pom.xml介绍

    <modelVersion>4.0.0</modelVersion>是一个固定的版本,是一个必须的元素,指定了当前pom的版本
    坐标的信息
    
    <!--主项目的标识,用来定义当前maven属于哪个实际的项目的,以反写的公司网址+项目名-->
    <groupId>com.hbtt.test.a</groupId>
    <!--表示一个模块的标识,实际项目中的一个模块,一般使用时间的项目名+模块名-->
    <artifactId>haha</artifactId>
    <!--表示当前项目的版本号-->
    <!--0.0.1
        第一个0表示大版本号
        第二个0表示分支版本号
        第三个0表示小版本号
        snapshot 快照版本
        alpha    内部测试
        beta     公测
        Release  稳定
        GA       正式发布
    -->
    <version>0.0.1-SNAPSHOT</version>
    
    <!--maven项目的打包方式-->
    <!--
        默认是jar
        war zip pom
    -->
    <packaging>jar</packaging>
    <!--项目的描述名,在产生项目文档时使用-->
    <name>haha</name>
    <!--项目地址-->
    <url>http://maven.apache.org</url>
    <!--项目描述-->
    <description></description>
    <!--开发人员列表-->
    <developers></developers>
    <!--许可证信息,比如用到开源框架时-->
    <licenses></licenses>
    <!--组织信息-->
    <organization></organization>
    <!--依赖信息-->
    <dependencies>
         <groupId>junit</groupId>
         <artifactId>junit</artifactId>
         <version>3.8.1</version>
         <!--依赖的范围,test表示junit只在测试依赖范围内有用,在主代码中会报错
            maven提供了三种classpath:1.编译2测试3运行
            scope有六种级别:
            1.compile:默认的范围,编译测试运行都有效
            2.provided:在编译和测试时有效,比如servlet API
            3.runtime:在测试和运行时有效 比如JDBC驱动,编译时只需要jdbc主代码提供的API,只有在
            测试和运行时才需要jdbc的实现代码
            4.test 只在测试范围有效
            5.system:与本机系统相关联,可移植性差,编译测试时有效,比如引入本地的JAVAHOME可能
            会因为改变系统,路径不一致而报错
            不一致
            6.import:一个导入的范围,只用在<dependencyManagement>标签中表示从其他的
            pom中导入dependecy的配置
         -->
         <scope>test</scope>
         <!--设置依赖是否可选,只有两个值true和false,默认false,子项目默认是继承的,
         如果true,子项目必须显示的继承-->
         <optional></optional>
         <!--排除依赖传递列表-->
         <exclusions>
            <exclusion></exclusion>
         </exclusions>
    </dependencies>
    <!--依赖管理,可以包含多个依赖,但是它不会被运行,引入到实际的依赖中,这个标签用于
    定义在父模块中,供子模块继承。比如junit放在父模块中,其他继承即可-->
    <dependencyManagement>
        <dependencies>
            <dependency></dependency>
        </dependencies>
    </dependencyManagement>
    <!--通常为构件行为提供相应的支持-->
    <build>
        <plugins>
            <plugin>
                groupId ,artifactID version等标签
            </plugin>
        </plugins>
    </build>
    <!--通常用于子模块对父模块pom的继承-->
    <parent></parent>
    <!--用来聚合运行多个的maven项目,如果有多个maven需要编译,使用此标签,可以指定多个模块一起编译-->
    <modules></modules>

6.修复JDK版本

        1.找打maven的settings文件中的profiles标签
        2. 按如下格式书写,必须按如下写
        <profile>
              <id>jdk-1.7</id>

              <activation>
                <activeByDefault>true</activeByDefault>
                <jdk>1.7</jdk>
              </activation>
              
              <properties>
                <maven.compiler.source>1.7</maven.compiler.source>
                <maven.compiler.target>1.7</maven.compiler.target>
                <maven.compiler.compilerVesion>1.7</maven.compiler.compilerVesion>
              </properties>
         </profile>

7.用maven构件web项目

    注意:
    1.选择archetype-webapp选项
    2.对于index报错,添加servlet依赖
    3.检查文件的输出路径:build Path-->configure build path-->source选项
    4.改成web项目
        选择项目属性-->maven-->project Facets 中勾选上Dynamic web services选项
    5.修改部署时的默认配置:
    点击项目属性--->选择Deployment Assembly选项-->删除掉测试的文件
    6.使用jetty启动web项目:引入jetty插件依赖,然后运行时输入jetty:run

相关文章

  • maven入门及使用

    1.maven为我们提供了一个archetype插件,用于创建符合maven规范的目录骨架。 3.在maven世界...

  • Mybaties 的 xml 配置和 注解

    基于 maven 的 Mybatis入门使用 步骤 - 创建 MAVEN 工程 - 导入坐标 - 使用 m...

  • maven 系列 2-Default Lifecycle 及建立

    举例讲解Maven的使用及生命周期 通过实际对maven进行操作讲解maven的使用 maven安装 maven官...

  • Maven使用入门/安装/配置

    Maven使用入门 1. Maven概述 Maven是什么?Maven项目对象模型(POM),可以通过一小段描述信...

  • 一、Maven的安装及入门

    Maven安装及入门 一、Maven的安装 找到Maven官网下载。 将压缩包解压到不含空格与空格的路径下。 配置...

  • Maven使用入门

    pom.xml文件 代码的第一行是xml开头,制定了该xml文档的版本和编译方式。 紧接着是project元素,p...

  • Maven使用入门

    Maven用来管理需要使用的jar包,可以自动下载添加依赖。 一个Maven工程包括pom文件。配置Maven方式...

  • Maven 简介

    第一章:Maven 入门指南第二章:Maven 生命周期第三章:Maven 默认插件及功能第四章:Maven 依赖...

  • Maven配置使用

    一、什么是Maven,为什么要使用Maven 二、Maven的下载及配置 前提:maven程序纯java开发,他的...

  • Spring学习笔记 | 使用IDEA创建第一个Spring项目

    安装及配置maven 因为我们要使用到maven,因此得先下载和配置maven 下载maven进入网站https:...

网友评论

      本文标题:maven入门及使用

      本文链接:https://www.haomeiwen.com/subject/vajlixtx.html