一、Maven简介
1、为什么需要maven
Maven是一个依赖管理工具,解决如下问题:
- 项目依赖jar包多
- jar包来源、版本问题
- jar包导入问题
- jar包之间的依赖
Maven是一个构建工具:
- 脱离IDE环境的项目构建操作,需要专门的工具
2、Maven介绍
https://maven.apache.org/what-is-maven.html
二、Maven安装和配置
1、Maven安装
下载地址:https://maven.apache.org/download.cgi
安装条件:需要本机安装jave环境,且配置java_home环境变量
安装方式:直接解压
2、Maven软件结构:
bin:含有maven的运行脚本
boot:含有plexus-classwords类加载器框架
conf:含有maven的核心配置文件
lib:含有maven运行时所需要的java类库
LICENSE、NOTISE、README.txt:针对maven的版本,第三方软件等简要介绍
3、Maven环境变量配置
略。
4、Maven功能配置
1.本地仓库位置:
<localRepository>D:/workprogram/repository</localRepository>
2.配置国内阿里镜像
<mirror>
<id>alimaven</id>
<mirrorOf>central</mirrorOf>
<name>aliyun-maven</name>
<url>https://maven.aliyun.com/repository/central</url>
</mirror>
3.配置jdk版本(构建项目时jdk的版本)
<profile>
<id>jdk-21</id>
<activation>
<activeByDefault>true</activeByDefault>
<jdk>21</jdk>
</activation>
<properties>
<maven.compiler.source>21</maven.compiler.source>
<maven.compiler.target>21</maven.compiler.target>
<maven.compiler.compilerVersion>21</maven.compiler.compilerVersion>
</properties>
</profile>
5、IDEA中配置Maven
注意一定要配置新建项目时的默认配置,否则每次又要改。点击New Projects Settings ->Setting for new Projects。
三、基于IDEA创建Maven工程
1、Maven Archetype简介以及搭建
1.1 Archetype介绍
Archetype 是一个 Maven 项目模板工具包。用于快速创建项目。
1.2 Maven 的41种骨架功能介绍
目前提供41中模板。mvn archetype:generate可以查看当前支持的骨架。
...>mvn archetype:generate
1: internal -> appfuse-basic-jsf (创建一个基于Hibernate,Spring和JSF的Web应用程序的原型)
2: internal -> appfuse-basic-spring (创建一个基于Hibernate,Spring和Spring MVC的Web应用程序的原型)
3: internal -> appfuse-basic-struts (创建一个基于Hibernate,Spring和Struts 2的Web应用程序的原型)
4: internal -> appfuse-basic-tapestry (创建一个基于Hibernate, Spring 和 Tapestry 4的Web应用程序的原型)
5: internal -> appfuse-core (创建一个基于 Hibernate and Spring 和 XFire的jar应用程序的原型)
6: internal -> appfuse-modular-jsf (创建一个基于 Hibernate,Spring和JSF的模块化应用原型)
7: internal -> appfuse-modular-spring (创建一个基于 Hibernate, Spring 和 Spring MVC 的模块化应用原型)
8: internal -> appfuse-modular-struts (创建一个基于 Hibernate, Spring 和 Struts 2 的模块化应用原型)
9: internal -> appfuse-modular-tapestry (创建一个基于 Hibernate, Spring 和 Tapestry 4 的模块化应用原型)
10: internal -> maven-archetype-j2ee-simple (一个简单的J2EE的Java应用程序)
11: internal -> maven-archetype-marmalade-mojo (一个Maven的 插件开发项目 using marmalade)
12: internal -> maven-archetype-mojo (一个Maven的Java插件开发项目)
13: internal -> maven-archetype-portlet (一个简单的portlet应用程序)
14: internal -> maven-archetype-profiles ()
15: internal -> maven-archetype-quickstart ()
16: internal -> maven-archetype-site-simple (简单的网站生成项目)
17: internal ->