• Maven 学习(一)


    http://www.cnblogs.com/xdp-gacl/p/3498271.html

    http://www.cnblogs.com/xdp-gacl/p/4240930.html

    一、Maven使用入门

    背景知识:Maven是一款服务于Java平台的自动化构建工具。Make --> Ant -->Maven --> Gradle

    一个BS项目最终运行的并不是动态Web工程本身,而是这个动态Web工程“编译的结果”。

    1.1编写POM

    Maven项目的核心是pom.xml:定义了项目的基本信息,用于描述项目如何构建,声明项目依赖。

    <?xml version="1.0" encoding="UTF-8"?>
    <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">
        <!--所有的Maven项目都必须配置这四个配置项-->
        <modelVersion>4.0.0</modelVersion>
        <!--groupId指的是项目名的项目组,默认就是包名-->
        <groupId>com.juvenxu.mvnbook</groupId>
        <!--artifactId指的是项目中的某一个模块,默认命名方式是"项目名-模块名"-->
        <artifactId>hello-world</artifactId>
        <!--version指的是版本,这里使用的是Maven的快照版本-->
        <version>1.0-SNAPSHOT</version>
    
        <!--非必须的方便信息交流-->
        <version>1.0-SNAPSHOT</version>
    
    </project>

    modelVersion:指定当前POM模型的版本,对于Maven 2 及Maven 3来说,它只能是4.0.0

    groupId,artifactId,version:定义了一个项目基本的坐标。

    groupId:定义了项目属于哪个组。

    artifactId:定义了当前Maven项目在组中唯一的ID。

    version:定义当前项目的版本。

    1.2 编写主代码:

    项目主代码和测试代码不同,项目的主代码会被打包到最终的构件中(如jar),而测试代码只会在运行测试时用到,不会被打包。默认情况,Maven假设项目主代码位于src/main/java目录。(Maven会自动搜索该目录找到项目主代码)。该Java类的包名是com.juvenxu.mvnbook.helloworld,这与之前在POM中定义的groupId和artifactid相吻合。一般来说,项目中Java类的包都应该基于项目的groupId和artifactId。

    1.3 编写测试代码:

    默认情况,Maven假设项目主代码位于src/test/java目录

    为项目添加JUnit依赖:

    <?xml version="1.0" encoding="UTF-8"?>
    <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.juvenxu.mvnbook</groupId>   
        <artifactId>hello-world</artifactId>   
        <version>1.0-SNAPSHOT</version>    
        <name>Maven Hello World Project</name>
        
        
        <!--添加依赖的jar包-->
        <dependencies>
            <!--项目要使用到junit的jar包,所以在这里添加junit的jar包的依赖-->
            <dependency>
                <groupId>junit</groupId>
                <artifactId>junit</artifactId>
                <version>4.7</version>
                <scope>test</scope>
            </dependency>
        </dependencies>
    </project>

    1.4 打包和运行

    mvn clean package进行打包。(默认打包类型是jar)--Maven打包之前执行编译、测试等操作。

    其他Maven项目直接引用jar?--mvn clean install

    该任务将项目输出的jar安装到Maven本地仓库中。(构件被下载到本地仓库后,才能由所有Maven项目使用)。

    二、Maven仓库

    本地仓库默认值:C:Users自己的电脑用户名.m2 epository

    私服是一种特殊的远程仓库,它是架构在局域网内的仓库服务,私服代理广域网上的远程仓库,供局域网内的Maven的用户使用。

  • 相关阅读:
    洛谷 P2148 [SDOI2009]E&D(SG函数入门)
    洛谷 P2197 【模板】nim游戏
    博弈整理
    洛谷 P2939 [USACO09FEB]改造路Revamping Trails(分层最短路二维dijs)
    洛谷 P3831 [SHOI2012]回家的路(最短路+分层图思想)
    BZOJ 2763 [JLOI2011]飞行路线(分层最短路)
    洛谷 P4016 负载平衡问题(费用流)
    洛谷 P1251 餐巾计划问题(费用流)
    把数组排成最小的数
    整数中1出现的次数(从1到n整数中1出现的次数)
  • 原文地址:https://www.cnblogs.com/gzhcsu/p/7755358.html
Copyright © 2020-2023  润新知