一.maven介绍
Maven 是一款为 Java 项目构建管理、依赖管理的工具。依赖管理是指maven可以自动下载所需依赖库、自动下载依赖需要的依赖并且保证版本没有冲突,我们可以方便地维护项目所依赖的外部库,仅仅通过编写配置即可。项目构建是指将源代码、配置文件、资源文件等转化为能够运行或部署的应用程序或库的过程!Maven 可以管理项目的编译、测试、打包、部署等构建过程。
二.maven安装与环境配置
点击 Maven官网 跳转至官网点击Download,下载解压后,配置Maven环境变量。右键点击此电脑选择属性,点击高级系统设置,点击环境变量。在系统变量下点击新建,变量名输入MAVEN_HOME,变量值为maven的安装目录,之后点击确定。在系统变量里找到Path,点击编辑,之后点击新建,输入%MAVEN_HOME%bin。
注意,maven的环境依赖jdk的环境,必须确保jdk环境配置没有问题。这是为了确保Maven能够正确地处理Java项目的构建和依赖管理,如果JDK环境没有配置好,Maven可能无法正常编译项目代码,或者无法找到必要的Java库,导致项目构建失败。jdk环境配置类似于maven,也是需要配置JAVA_HOME和对应的Path。在命令行中输入:java -version,看到Java的版本号则Java环境配置成功。在命令行中输入:mvn -version,看到maven的版本号则maven配置成功。
此外,我们需要需改**maven/conf/settings.xml**配置文件,主要休要修改的有三个配置:
配置本地仓库地址,repository是自定义的文件夹,以后会放很多文件,所有不放在c盘 ```xml <!-- localRepository | The path to the local repository maven will use to store artifacts. | | Default: ${user.home}/.m2/repository <localRepository>/path/to/local/repo</localRepository> --> <!-- conf/settings.xml 55行 --> <localRepository>D:\repository</localRepository> ``` 配置国内阿里镜像,提高下载速度 ```xml <!--在mirrors节点(标签)下添加中央仓库镜像 160行附近--> <mirror> <id>alimaven</id> <name>aliyun maven</name> <url>http://maven.aliyun.com/nexus/content/groups/public/</url> <mirrorOf>central</mirrorOf> </mirror> ``` 配置jdk17版本项目构建 ```xml <!--在profiles节点(标签)下添加jdk编译版本 268行附近--> <profile> <id>jdk-17</id> <activation> <activeByDefault>true</activeByDefault> <jdk>17</jdk> </activation> <properties> <maven.compiler.source>17</maven.compiler.source> <maven.compiler.target>17</maven.compiler.target> <maven.compiler.compilerVersion>17</maven.compiler.compilerVersion> </properties> </profile> ```
三.基于IDEA的Maven工程创建
maven 中的 GAVP属性 是指 GroupId、ArtifactId、Version、Packaging 等四个属性的缩写,其中前三个是必要的,而 Packaging 属性为可选项。这四个属性主要为每个项目在maven仓库中做一个标识。有了具体标识,方便maven软件对项目进行管理和互相引用!
GroupID 属性:com.业务线
ArtifactID 属性:产品线名-模块名(微服务)。项目名(单体)
Version版本号格式推荐:主版本号.次版本号.修订号
版本号:当做了不兼容的 API 修改,或者增加了能改变产品方向的新功能。 次版本号:当做了向下兼容的功能性新增(新增类、接口等)。修订号:修复 bug,没有修改方法签名的功能加强,保持 API 兼容性。
Packaging属性:指示项目打包类型,jar(默认值),代表普通的Java工程, war代表Java的web工程,可部署到tomcat服务器上,pom代表不会打包,用来做继承的父工程。
普通maven项目结构:
妈的创建的工程没有src目录,也就是根本没构建成功,原因我估计是它从apache官网下载相关配置文件导致,但是我在setting文件下已经配置了阿里云镜像它还是从那下载我有点迷,网上说pom.xml也加一下镜像我试了也没有用,我都快破防了。
web项目结构:
你可以自己在javasemaven工程中手动添加目录结构,修改pom.xml文件打包方式为war,刷新,也可以使用插件JBLJavaToWeb。
- pom.xml:Maven 项目管理文件,用于描述项目的依赖和构建配置等信息。
- src/main/java:存放项目的 Java 源代码。
- src/main/resources:存放项目的资源文件,如配置文件、静态资源等。
- src/main/webapp/WEB-INF:存放 Web 应用的配置文件。
- web.xml : Web 应用的部署描述文件
- src/main/webapp/index.html:Web 应用的入口页面。
- src/test/java:存放项目的测试代码。
- src/test/resources:存放测试相关的资源文件,如测试配置文件等。