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项目

image


image

三、添加依赖

image

如果出来Enable Auto-Import 那就点一下呗,点一下又不吃亏,又不会少块肉。

image

我们来看一下目录结构,src不用多说,pom.xml就是Maven的项目对象模型,这个文件里包含项目依赖、插件、执行目标等内容

image

接下来,我们添加一个工具类的依赖,我们以Hutool为例

我们所需要的第三方库,一般都可以从https://mvnrepository.com/ 搜到

image

从这儿能看到,最新版为5.3.8,我们点进去看看

image

红色框起来那些,复制一下,这就是我们添加依赖的写法


修改POM,添加<dependencies></dependencies>标签对

image

将复制的Hutool的依赖,粘贴到这个标签中,粘贴完保存,会自动的下载

image

image


四、编写代码

不要关心代码,一切从简。

image

image


image

修改一下代码,使用Hutool,毕竟添加了依赖,不用它,怪可惜的,我们就使用Hutool的工具类获得屏幕分辨率,然后让窗体在屏幕中间显示

image

先说明一下,ScreenUtil获得宽高的时候,如果显示器设置缩放的话,会不准确。

我们今天的主题是Maven使用,不用关心这些


五、打包

打包是什么?为什么要打包?

打包就是将代码生成一个可执行的jar文件,发给别人的时候, 别人只要双击一下就能打开,不需要根据代码再编译。

1.POM中新增<build></build>标签对

image

2.在<build>标签中,添加插件<plugins></plugins>标签对

image

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>


image

最后在Maven生命周期中点击install就能生成jar了





image

install结束后,会在target目录下,生成一个install文件夹,这个文件夹下的文件,就可以发给别人了

image


image


image

image

image

posted @ 2020-06-29 08:47  大师兄法号随缘  阅读(514)  评论(0编辑  收藏  举报