maven仓库之第一篇

maven jar仓库 :存放maven项目使用的jar包.
        中央仓库,存放99%免费开源项目jar包,apache公司负责维护的,以T为单位的存储.
        
    例如 : struts2-core-2.3.24 版本
           maven项目通过坐标去仓库中,引入需要的jar包
           groupId 公司信息, org.apache.struts
           artifactId 项目信息, struts2-core
           version      版本信息, 2.3.24
    
    如果仓库中jar包很多,也可以对仓库创建索引提升查询速度.
    pom文件存放maven jar包的坐标.
    
    maven依赖管理 : 就是对jar包管理的过程.
    
    项目的一键管理:
        一键构建,实际是指,对于项目的某个流程动作,可以通过maven一个命令实现(编译---测试--- 运行 --打包---安装)
        什么是构建?
        指的是项目从编译 --- 测试 --- 运行  --打包 ----安装整个过程都交给maven进行管理,这个过程称为构建.
        
    maven_home 的环境变量配置
        %MAVEN_HOME%\bin;
        maven_home 是maven程序的安装路径.
        注意实现 : maven环境变量配置,必须要求,配置过JAVA_HOME变量名;
                   JAVA_HOME 必须是到jdk的安装目录可以看到bin;    
                   JAVA_HOME 路径,不要有(x86)
    配置环境变量是为了在命令行输入的命令,电脑会到path路径中寻找,你输入的命令,mvn.               
                   
    maven工程的目录结构 :
        src 源码文件夹
            main
                java 开发的java代码;
                resources 开发使用的配置文件;
                webapp 相当于WebCotent 存放web工程的资源文件夹,css,jsp,image
            text
                java 测试使用的java代码
                resources
    pom.xml文件 是maven工程的核心配置文件,存放maven工程的坐标信息和maven项目使用的jar包坐标信息,其余的一些查询配置.
    只能满足maven工程目录结构的项目,才能使用maven命令运行.
        
    根据maven约定,一个比较标准的maven java web项目,    结合eclipse通常可以看到结构如下 :
        src/main/java            java主要代码存放目录
        src/main/resources        java配置文件存放目录
        src/test/java            java测试代码存放目录
        JRE System Library        jre中的一些jar包映射
        Maven Dependencies        根据pom.xml配置的依赖而导入的jar包映射
        src/main/webapp            web相关的文件,如html等
        src/test                这个目录暂时还没用过
        target                    maven项目输出目录,例如生成多的war包
        pom.xml                    maven项目最重要的一个文件
        
    Maven命令:
        compile :
            compile是maven工程的编译命令,作用是将src/main/java下的文件编译为class文件输出到target目录下.
        test :
            test是maven工程的测试命令,mvn test,会执行src/test/java 下的单元测试类.
        clean :
            clean是maven工程的清理命令,执行clean会删除target目录及内容.
        package :
            package是maven工程的打包命令,对于java工程执行package打成jar包,对于web工程打成war包.
        install :
            install 是maven工程的安装命令,执行install将maven打成jar包或者war包发布到本地仓库.
        deploye部署命令 : 
            是将打成的jar包或者war部署到公司私服服务器.
            某些工具类,处理字符串,格式化日期,解析xml文件.
        
        从运行结果中,可以看出:
            当后妈的命令执行时,前面的操作过程也都会自动执行,在同一生命周期内运行后面的命令,会自动执行前面的命令.
        
    三套生命周期 :
        maven 对项目构建过程分为三套相互独立的生命周期,请注意这里说的是"三套",而且"相互独立",这三套生命周期分别是:
            Clean Lifecycle 在进行真正的构建之前进行一些清理工作.
            Default Lifecycle 构建的核心部分,编译,测试,打包,安装,部署等.
            Site Lifecycle 生成项目报告,站点,发布站点.
        
    jar包冲突问题 :解决办法
        
         
            
                javax.servlet
                servlet-api
                2.3
                provided 
            
          
        
    Maven的目录结构 :
        bin : 放入了一些命令 : mvn tomcat:run.
        boot : 放了一些引导程序,类加载器.
        conf : 配置文件.
        lib : maven本身运行所需的jar包.
    
    pom.xml的配置文件 :
        
          4.0.0
          com.baidu
          struts_maven
          0.0.1-SNAPSHOT
          war
          
            
                org.apache.struts
                struts2-core
                2.3.24
            
            
                javax.servlet
                servlet-api
                2.3
                provided
            
            
                junit
                junit
                4.10
            
          
          
          
                
                    
                    
                        org.apache.maven.plugins
                        maven-compiler-plugin
                        
                            1.7
                            1.7
                            UTF-8
                        
                    
                
            
          
          
            
            -Dfile.encoding=UTF-8  
          
          
        
        
    依赖范围包括 :
        依赖范围 : 对于编译classpath有效    对于测试classpath有效     对于运行时classpath有效    例子------------------------------
        compile                Y                        Y                            Y                    spring-core
        test                -                        Y                            -                    Junit
        provided            Y                        Y                            -                    servlet-api
        runtime                -                        Y                            Y                    JDBC驱动
        system                Y                        Y                            -                    本地的,Maven仓库之外的类库.

 

你可能感兴趣的:(maven仓库之第一篇)