Maven

Maven

1.依赖管理

2.构建流程

clean-compile-test-package
mvn clean
mvn compile test

3.eclipse中的maven只能在eclipse中使用,如果想要单独使用maven则需要去官网下载maven。

步骤如下:

1.去官网下载maven.

2.下载完maven进行解压

3.解压完后根据平台不同需要做不同的操作。

windows平台:
在环境变量中添加mvn的bin到path中
在环境变量中新建M2_HOME设置到maven的安装目录
Mac平台:
打开~/.bash_profile文件
在文件中
export M2_HOME=maven安装目录
export M2=M2_HOME/bin export Path=Path:M2

Maven的几个概念:LifeCycle、Phase、Goal

使用Maven构建项目就是执行LifeCycle
执行LifeCycle就是按照顺序执行一系列Phase(clean、compile、test、package)
执行Phase就是执行一系列的Goal
Goal是最小的执行单元
注意:在执行mvn package时,不会把项目中以来的包打进去,所以如果直接使用mvn package打完的包运行程序有可能会找不到依赖包里面的类。


image.png

Maven中所有的命令Phase都是通过具体的插件Plugins来执行相应数量的Goal来完成的。

Maven的常用标准Plugins如下图所示:


image.png

如果标准的插件没办法满足你的需求,那么我们可以自定义插件。
例如:mvn自带的package没办法打包依赖的其他包。这时,可以使用自定义插件。

mvn-shade-plugin:解决打包依赖包的问题

步骤如下:

1.在浏览器中搜索maven shade plugin excutable jar usage

2.在网页中复制部分xml代码,如下所示。复制到对应项目的pom.xml文件中。

<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>3.2.1</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
<configuration>
<transformers>
<transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
<mainClass>org.sonatype.haven.HavenCli</mainClass>
</transformer>
</transformers>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>

3.替换上述代码中的mainClass为自己的主类

4.保存项目,打开命令行,执行mvn clean package

5.打开项目目录,找到target会发现两个jar包。

两个jar包

6.使用命令行java -jar jar包(内容比较多的jar包)运行已经将依赖包打进去的包。


Mavn常用插件

常用插件

总结

模块依赖

在一个项目中可以拆分成多个模块,不同模块间可能存在依赖关系。

模块间依赖关系

解决依赖的步骤如下:

1.在TestMaven的pom.xml文件中添加对GreetingMaven的依赖

添加依赖关系

2.在TestMaven需要用到GreetingMaven类的时候直接使用

具体使用

父依赖

模块间依赖相同时,可以抽离出父依赖。

1.抽离出相同的依赖,放到父依赖的pom.xml文件中。

注意事项:父依赖的pom文件中,packaging需要设置为pom


父依赖的pom文件格式

2.依赖父依赖的单独模块pom.xml文件中添加parent标签。

依赖模块

3.其他的模块如果依赖其他的子模块,在pom文件中还是需要体现的。

依赖其他模块的子模块

注意事项:A模块依赖B模块,那么A模块需要B的jar包才能正常编译。

模块依赖问题

解决方案


image.png

步骤:

1.新建一个project命名为Build。在pom文件中添加如下代码:

modules

2.在命令行,进入到Build目录下使用mvn clean compile命令进行编译

3.如果要打包,也是进入到Build目录下使用mvn package命令进行打包

4.可以进入到单个项目的target中运行jar包

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容