项目构建工具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包

相关推荐
小菜yh几秒前
关于Redis
java·数据库·spring boot·redis·spring·缓存
ggdpzhk6 分钟前
Mybatis 快速入门(maven)
oracle·maven·mybatis
宇卿.7 分钟前
Java键盘输入语句
java·开发语言
浅念同学7 分钟前
算法.图论-并查集上
java·算法·图论
立志成为coding大牛的菜鸟.20 分钟前
力扣1143-最长公共子序列(Java详细题解)
java·算法·leetcode
鱼跃鹰飞20 分钟前
Leetcode面试经典150题-130.被围绕的区域
java·算法·leetcode·面试·职场和发展·深度优先
爱上语文2 小时前
Springboot的三层架构
java·开发语言·spring boot·后端·spring
serve the people2 小时前
springboot 单独新建一个文件实时写数据,当文件大于100M时按照日期时间做文件名进行归档
java·spring boot·后端
qmx_073 小时前
HTB-Jerry(tomcat war文件、msfvenom)
java·web安全·网络安全·tomcat
为风而战3 小时前
IIS+Ngnix+Tomcat 部署网站 用IIS实现反向代理
java·tomcat