Maven小白系列-01添加依赖并打包
在开始之前,我们首先了解一下什么是Maven?
通过百度百科了解到,Maven这个单词来自犹太语,是”知识的积累“的含义。其实简单的来说,就是方便的使用别人积累的知识,更方便的引用一些开源的类库。接下来专业一点的解释:”Maven是一个项目管理工具,它包含了一个项目对象模型 (Project Object Model),一组标准集合,一个项目生命周期(Project Lifecycle),一个依赖管理系统(Dependency Management System),和用来运行定义在生命周期阶段(phase)中插件(plugin)目标(goal)的逻辑。当你使用Maven的时候,你用一个明确定义的项目对象模型来描述你的项目,然后Maven可以应用横切的逻辑,这些逻辑来自一组共享的(或者自定义的)插件。“
所谓的专业术语,就是一大堆屁话,谁会去一个字一个字的理解啊?Who Cares?
现在我们使用Maven就是为了简单的添加第三方依赖,简单的构建项目,方便的打包jar或者war。
Maven小白系列,我们会分为几个部分?
01 添加依赖并打包
02 添加本地jar包并打包
03 将本地jar包导入本地maven库
04 springboot打包jar和war
05 Maven统一版本管理
接下来,我们开始第一部分的内容
一、打开InteliJ IDEA
如果看到这边,有人跟我说,怎么打开InteliJ IDEA或者怎么安装,那我会很无奈的告诉你,你放弃吧,Java不适合你。
二、新建Maven项目
三、添加依赖
如果出来Enable Auto-Import 那就点一下呗,点一下又不吃亏,又不会少块肉。
我们来看一下目录结构,src不用多说,pom.xml就是Maven的项目对象模型,这个文件里包含项目依赖、插件、执行目标等内容
接下来,我们添加一个工具类的依赖,我们以Hutool为例
我们所需要的第三方库,一般都可以从https://mvnrepository.com/ 搜到
从这儿能看到,最新版为5.3.8,我们点进去看看
红色框起来那些,复制一下,这就是我们添加依赖的写法
修改POM,添加<dependencies></dependencies>标签对
将复制的Hutool的依赖,粘贴到这个标签中,粘贴完保存,会自动的下载
四、编写代码
不要关心代码,一切从简。
修改一下代码,使用Hutool,毕竟添加了依赖,不用它,怪可惜的,我们就使用Hutool的工具类获得屏幕分辨率,然后让窗体在屏幕中间显示
先说明一下,ScreenUtil获得宽高的时候,如果显示器设置缩放的话,会不准确。
我们今天的主题是Maven使用,不用关心这些
五、打包
打包是什么?为什么要打包?
打包就是将代码生成一个可执行的jar文件,发给别人的时候, 别人只要双击一下就能打开,不需要根据代码再编译。
1.POM中新增<build></build>标签对
2.在<build>标签中,添加插件<plugins></plugins>标签对
3.添加项目依赖插件和打包插件,并设置入口类(main函数所在的类)
<!-- 项目依赖插件 -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<configuration>
<outputDirectory>${project.build.directory}/libs</outputDirectory>
<excludeTransitive>false</excludeTransitive> <!-- 表示是否不包含间接依赖的包 -->
<stripVersion>false</stripVersion> <!-- 去除版本信息 -->
</configuration><executions>
<execution>
<id>copy-dependencies</id>
<phase>package</phase>
<goals>
<goal>copy-dependencies</goal>
</goals>
<configuration>
<!-- 拷贝项目依赖包到libs/目录下 -->
<outputDirectory>${project.build.directory}/install/libs</outputDirectory>
<excludeTransitive>false</excludeTransitive>
<stripVersion>false</stripVersion>
</configuration>
</execution>
</executions>
</plugin><!-- 设置jar的入口类 -->
<!-- 打包插件 --><plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>3.0.2</version>
<configuration>
<archive>
<!-- 生成MANIFEST.MF的设置 -->
<manifest>
<!-- 为依赖包添加路径, 这些路径会写在MANIFEST文件的Class-Path下 -->
<addClasspath>true</addClasspath>
<classpathPrefix>libs/</classpathPrefix>
<!-- jar启动入口类-->
<mainClass>com.zjw.Main</mainClass>
</manifest>
</archive>
<includes>
<!-- 打jar包时,只打包class文件 -->
<include>**/*.class</include>
</includes>
<outputDirectory>${project.build.directory}/install</outputDirectory>
</configuration>
</plugin>
最后在Maven生命周期中点击install就能生成jar了
install结束后,会在target目录下,生成一个install文件夹,这个文件夹下的文件,就可以发给别人了