项目构建工具maven

一、概述

1、maven是apache的一个开源项目,是一个优秀的项目构建/管理工具

2、apache(软件基金会、非盈利组织、管理维护一些开源项目)

二、功能

1、管理项目中jar包和jar包与jar包之间的依赖

2、完成项目编译、测试、打包

三、核心文件

pom.xml:在里面配置相关信息,指导maven工作

四、两个关键词

1、坐标:

(1)jar包在仓库中的唯一地址

(2)apache将jar包全部在服务器端统一进行了管理,每个jar包都有一个唯一的地址,开发者只需要在项目中配置需要在项目中配置需要使用的jar包地址,maven就会自动从官方下载jar包

2、仓库

官方存储jar文件的仓库

中央仓库:官方提供,访问速度慢

中央仓库镜像:在全球各地对中央仓库进行备份(如阿里云),国内访问速度快

本地仓库:在程序员电脑上的仓库,第一次使用从官方下载到本地,以后可以从本地直接引用

四、maven工具的安装和配置

两个前提:已安装好jdk,良好的网络环境(使用maven时要从中央仓库/镜像仓库中下载jar包)

1、maven工具的下载地址:Maven -- Welcome to Apache Maven

2、解压安装maven到某个位置

3、配置bin目录到系统变量path

4、新建本地仓库,在conf目录下的settings.xml文件中配置本地仓库和镜像仓库地址

5、测试maven配置是否成功

6、在idea中配置maven

7、创建maven工程(第一次创建时,速度可能会很慢,因为maven需要把自己用的jar包也下载到本次仓库)

五、maven项目

1、结构

2、pom.xml文件

(1)项目基本信息

(2)配置jar包地址下jar包

3、maven中的命令

(1)compile--编译项目,生成target文件夹

(2)package--打包编译后的项目

(3)clean--删除target文件夹

4、如何将一个普通项目变为maven项目

4、使用maven打包项目

打包:将本地项目做成一个jar包(里面都是编译后的class文件)

(1)某些场景下使用maven打包项目可能会出现编译环境上的问题,因此在pom.xml文件中指定jdk版本可以避免这一类错误

配置

查看项目的编译环境java8+jdk1.8

(2)在使用java -jar jar包名在运行项目时,会出现这样的错误,需要我们在配置文件中指定好主类,以及为打包时可以将所依赖的jar包打包进去做一些配置

XML 复制代码
 <!-- 添加打包依赖   -->
    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-assembly-plugin</artifactId>
                <configuration>
                    <descriptorRefs>

                        <!--给 jar 包起的别名-->

                        <descriptorRef>jar-with-dependencies</descriptorRef>
                    </descriptorRefs>
                    <archive>
                        <manifest>
                            <addClasspath>true</addClasspath>
                            <classpathPrefix>lib/</classpathPrefix>

                            <!--添加项目中主类-->

                            <mainClass>com.ffyc.chatrom.client.frame.Run</mainClass>
                        </manifest>
                    </archive>
                </configuration>
                <executions>
                    <execution>
                        <id>make-assembly</id>
                        <phase>package</phase>
                        <goals>
                            <goal>single</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>

(3)运行jar包

相关推荐
love_muming10 分钟前
二叉树操作全解析:从递归到层序遍历
java·数据结构·算法·二叉树
小的~~11 分钟前
ThreadLocal 、InheritableThreadLocal 与 TransmittableThreadLocal 的进阶指南
java·开发语言
北极糊的狐21 分钟前
钉钉小程序报错data.formatTime is not a function是因为 axml 模板中不能直接调用 Page 内自定义方法!
java·小程序·钉钉
·薯条大王9 小时前
经济实惠玩云服务器|一台云服务器多人共用,子账号配置教程
java·linux·运维·服务器·汇编·c++·python
ZJH__GO12 小时前
网络编程v4pro--实现聊天室文件传输功能
java·服务器·网络·计算机网络
程序员黑豆13 小时前
Windows 系统 Java 环境变量配置全攻略:解决“不是内部或外部命令”
java·前端·ai编程
命运之光13 小时前
【C语言完整代码】就诊信息管理系统
java·c语言·开发语言
凤山老林13 小时前
Spring Boot @Async 线上实战:从默认配置到生产级线程池治理
java·spring boot·后端
marvelyu14 小时前
每天10分钟学会OceanBase系列(Day 20):跨机房容灾实战——构建多数据中心高可用架构
java·大数据·数据库
AI人工智能+电脑小能手15 小时前
大白话说Java设计模式-04-工厂方法模式(业务实战篇)
java·设计模式·工厂方法模式·架构设计·代码解耦