maven入门

1.POM文件

POM(project object model项目对象模型)定义了项目的基本信息,用于描述项目如何构建,声明项目依赖等。

<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>org.springagg</groupId>
    <artifactId>hello-word</artifactId>
    <packaging>war</packaging>
    <version>0.0.1-SNAPSHOT</version>
    <name>hello-word project</name>
  <project>

<project>是pom.xml的根元素,它声明了一些POM相关的命名空间及xsd元素,虽然这些属性不是必须的,但使用这些属性能够让第三方工具帮我们快速编辑POM。

<modelVersion>指定了POM模型的版本

<groupId><artifactId><version>三个元素定义了一个项目的基本坐标。<groupId>定义了属于哪个组,这个组往往和项目所在的组织或公司存在关联。如:公司为mycom,有一个项目myapp,那么groupId就是com.mycom.myapp。<artifactId>定义了当前maven项目在组中唯一的ID。<version>顾名思义为版本。

<name>声明了一个对于用户更为友好的项目名称,虽然这不是必须的,但是推荐每个pom声明name,方便交流。

2.主代码

项目的主代码会被打包到最终的构件中,而测试代码只是在运行测试时用到,不会被打包。项目主代码要放到src/main/java/目录下(遵循maven的约定),无效额外配置,maven会自动搜索该目录找到项目主代码。其中主代码类的包名与在POM中定义的groupId和artifactId相吻合。
这里写图片描述

clean告诉maven清理输出目录target/,compile告诉maven编译项目主代码,从输出中看到maven首先执行了clean:clean任务,删除target/目录。默认情况下,maven构建的所有输出都在target/目录中;接着执行resources:resources任务;最后执行compiler:compile任务。

3.测试代码

在java世界,由Kent和Erich Gamma建立的JUnit是世界上的单元测试标准。要使用JUnit就要在项目中添加依赖。

<dependencies>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.12</version>
            <scope>test</scope>
        </dependency>
    </dependencies>

scope为依赖范围,若依赖范围为test则表示该依赖只对测试有效。换句话说,测试代码中的import JUnit代码是么有问题的,但是在主代码中要使用import JUnit,就会造成编译错误。如果不声明依赖范围,默认就是compile,表示该依赖对主代码和测试代码都有效。

由于历史原因,maven的核心插件之一–compile插件默认只支持编译java1.3,所以对于测试@Test注解不支持。需要配置ompile插件使其支持。

<plugin>                    <groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
     <configuration>
         <source>1.6</source>
         <target>1.6</target>
      </configuration>
</plugin>

4.打包和运行

–>mvn clean package 进行打包
maven会在打包之前进行编译、测试等操作。jar任务负责打包,实际上就是jar插件的jar目标将项目主代码打包成一个jar文件。该文件也位于target/输出目录中

–>mvn clean install 项目安装运行
该任务将输出的jar安装到maven本地仓库,我们说只有构件被下载到本地仓库后,才能由所有的maven项目使用,这里是同样的道理。只有将打包后的构件安装到本地仓库后,其他maven项目才能使用它。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值