Maven小白系列-01添加依赖并打包

By | 2020年6月30日

在开始之前,我们首先了解一下什么是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

Category: 未分类

发表评论

电子邮件地址不会被公开。 必填项已用*标注