Maven学习笔记1(clean compile package install)

Maven是一个项目构建管理工具,使用相应的命令 就可以快速完成项目的编译 打包。

1、下载maven,直接解压目录就可以了,配置maven的环境变量就可以在window下的任何文件夹下以命令的方式执行maven操作,而不必在maven的bin目录下输入命令。(配置 M2_HOME环境变量),maven必须在jdk环境下运行

2、maven项目包含一个主要的pom.xml文件,里面是整个项目的相关依赖配置,用户管理jar包等相关项目结构。

<?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>
    <!--组id,代表这个项目所在的组,一般一家公司对应一个组-->
    <groupId>com.alivn.myapp</groupId>
    <!--artifactId在组中的唯一标志-->
    <artifactId>com.myapp.helloWorld</artifactId>
    <!--版本号 随着开发的完善去升版本-->
    <version>1.0-SNAPSHOT</version>
    <!-- 名字 自定义  可以省略-->
    <name>my first one maven</name>
</project>

3、maven项目的主代码一般存放src/main/java,主资源文件src/main/resources ,测试文件路径:src/test/java 测试资源文件src/test/resources

4、在主代码文件夹中放入开发代码,当开发完成后依次对项目进行 编译 打包。

具体命令:在项目的根路径下 :

(清理target目录) mvn clean

(编译,会编译到target目录下) mvn compile     

((处理测试代码))mvn clean test

(打包 打成jar或war供其他程序使用 也存放在target目录下) mvn package

(安装 到本地仓库,供其它maven项目使用) mvn install.

这几个过程是顺序执行的(正常的流程还会有资源文件的处理等),如果直接执行 mvn install 会先执行前面四个个步骤,最后执行mvn install.

注:如果使用junit测试,需要引入依赖:

<dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.11</version>
        </dependency>

如果程序中 包含主程序入口,我们可以引用一个插件 ,然后mvn install, 然后会生成两个jar 包,一个包含主程序入口的,一个是源jar包。

然后我们使用java命令:java –jar target/{jarName}.jar  会直接执行主函数 。

在pom中引入:

<build>
        <plugins>
            <!-- shade插件打包成jar包   包含main -->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-shade-plugin</artifactId>
                <version>2.3</version>
                <executions>
                    <execution>
                        <phase>package</phase>
                        <goals>
                            <goal>shade</goal>
                        </goals>
                        <configuration>
                            <transformers>
                                <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
                                    <mainClass>com.myapp.helloWorld.Person</mainClass>
                                </transformer>
                            </transformers>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>

掌握maven的clean  compile  package install 等命令的使用场景和作用。

原文地址:https://www.cnblogs.com/ljp-sun/p/6770083.html