手记

maven学习心得体会总结(1)

Maven是基于项目对象模型(POM),可以通过一小段描述信息来管理项目的构建、报告和文档的软件项目管理工具。
bin目录是包含mvn的运行脚本
boot目录包含一个类加载器的框架,maven使用它加载自己的类库
conf配置文件
lib包含maven运行时的依赖类库

maven环境配置,增加一个环境变量MAVEN_HOME,值是maven的安装路径(C:\Program Files\apache-maven-3.5.0) 修改path则是在path最后面添加;%MAVEN_HOME%\bin。

项目目录
项目名
-src
-main
-java
-package
-test
-java
-package
-pom.xml

常用命令
mvn -v 查看maven版本
compile 编译
test 测试
package 打包

 clean      删除target
 install    安装jar包到本地仓库

快速创建项目骨架
mvn archetype:generate -DgroupId=com.imooc.maven -DartifactId=
maven-service -Dversion=1.0.0SNAPSHOT -Dpackage=com.imooc.maven.demo

  1. -DgroupId=组织名,公司网址反写+项目名
  2. -DartifactId=项目名+模块名
  3. -Dversion=版本号
  4. -Dpackage=代码所存在的包名

Maven仓库
http://maven.aliyun.com/nexus/content/groups/public/

maven生命周期

清理、编译、测试、打包、集成测试、验证、部署
maven三套独立的生命周期
clean 清理项目
1.pre-clean 执行清理前的工作
2.clean 清理上一次构建生成的所有文件
3.post-clean 执行清理后的文件

default 构建项目(最核心)
        compile test package install

site    生成项目站点
        1. pre-site     在生成项目站点前要完成的工作
        2. site     生成项目的站点文档
        3. post-site    在生成项目站点后要完成的工作
        4. site-deploy  发布生成的站点到服务器上

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">
<!--指定了当前pom的版本-->
<modelVersion>4.0.0</modelVersion>

<groupId>com.tiakon.maven.demo</groupId>
<artifactId>HoictasStudio-MavenDemo01</artifactId>
<version>1.0-SNAPSHOT</version>
<!--
    第一个0表示大版本号
    第二个0表示分支版本号
    第三个0表示小版本号
    0.0.1
    snapshot    快照
    alpha       内部测试
    beta        公测
    Release     稳定
    GA          正式发布
-->
<!--
    打包方式:默认是jar,可选war、zip、pom
    <packaging></packaging>
-->

  <!--指定编码格式-->
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>

<!--
    项目名
    <name></name>
    项目地址
    <url></url>
    项目描述
    <description></description>
    开发人员列表
    <developers></developers>
    许可证信息
    <licenses></licenses>
    组织信息
    <organization></organization>
-->

<!--依赖列表-->
<dependencies>
    <!--依赖项-->
    <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>RELEASE</version>
        <!--<type></type>-->
        <!--依赖范围-->
        <!--<scope></scope>-->
        <!--设置依赖是否可选(默认)false-->
        <!--<optional></optional>-->
        <!--排斥依赖传递列表-->
        <!--
            <exclusions>
                <exclusion>
                </exclusion>
            </exclusions>
        -->
    </dependency>
</dependencies>
<!--依赖的管理,作用主要定义在父模块中,对子模块进行管理-->
<!--
    <dependencyManagement>
        <dependencies>

        </dependencies>
    </dependencyManagement>
-->
<!--对构件的行为提供相应的支持-->
<build>
    <!--插件列表-->
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-source-plugin</artifactId>
            <version>3.0.1</version>

            <executions>
                <execution>
                    <phase>package</phase>
                    <goals>
                        <goal>
                            jar-no-fork
                        </goal>
                    </goals>
                </execution>
            </executions>
        </plugin>
    </plugins>
</build>
<!--通常用于子模块对父模块pom的继承-->
<!--<parent></parent>-->
<!--用来聚合运行Maven项目,指定多个模块一起编译-->
<!--
    <modules>
        <module></module>
    </modules>
-->

</project>

1人推荐
随时随地看视频
慕课网APP