maven

maven

1. 介绍

Maven 是一款强大的项目管理和构建自动化工具,特别针对 Java 平台而设计,但它也可以用于其他类型的项目。它是由 Apache 软件基金会开发和维护的开源项目,旨在简化和标准化 Java 应用程序的构建过程。

主要特点与作用:

项目对象模型(Project Object Model, POM): Maven 使用 XML 格式的 pom.xml 文件来描述项目的基本信息、配置和构建过程。POM 包含了项目依赖、构建目标、构建过程、开发者信息、构建环境配置等内容。

构建生命周期(Build Lifecycle): Maven 提供了一套预定义的构建阶段(比如 clean、compile、test、package、install 和 deploy),这些阶段按照既定顺序执行,构成项目构建的完整生命周期。

依赖管理(Dependency Management): Maven 可以自动处理项目之间的依赖关系,可以从远程仓库(如 Maven 中央仓库)下载所需的 JAR 包及其依赖,并确保各个库的版本一致性,减少版本冲突的问题。

插件系统(Plugin System): Maven 插件是用来实现构建生命周期各阶段功能的具体工具。通过配置不同的插件,可以轻松完成编译、测试、打包(如 JAR、WAR 或 EAR)、部署等各种任务。

统一目录结构与最佳实践:Maven 强调项目结构的一致性,提倡约定优于配置的理念,通过标准的项目布局,使得不同项目间具有相似性和易维护性。

仓库管理(Repository Management): Maven 支持本地仓库和远程仓库,能够有效地管理项目构建过程中所需的第三方库和内部发布的构件。

跨平台支持:由于 Maven 是基于 Java 编写的,因此可以在任何安装有 Java 运行环境的操作系统上运行,具备良好的跨平台特性。

总结来说,Maven 不仅仅是一个构建工具,它还通过一系列标准和自动化流程促进了团队协作和高效开发,让开发者能专注于业务逻辑实现,而不是重复的手动构建过程。
>>参考自文心一言
PS: 官方文档
	https://maven.apache.org/what-is-maven.html

2. jdk和maven关系

https://maven.apache.org/docs/history.html


3. 下载安装

# 1.下载地址
	https://maven.apache.org/download.cgi

# 2. 按照流程安装

# 3. 配置环境变量
	新建系统环境变量MAVEN_HOME=D:\study\java\apache-maven-3.8.8
	编辑Path=%MAVEN_HOME%\bin
	PS: 若不生效 可往上移

# 4. 查看版本
	mvn -v


4. 配置文件

# 配置文件路径
	%MAVEN_HOME%\conf\settings.xml

# 1. 配置远程仓库下载源
	关键词-mirrors
	<mirror>
      <id>alimaven</id>
      <mirrorOf>central</mirrorOf>
      <name>aliyun maven</name>
      <url>http://maven.aliyun.com/nexus/content/repositories/central/</url>
    </mirror>
PS: https://developer.aliyun.com/mvn/guide
# 2. 配置本地仓库
	关键词-localRepository
	按照具体需求配置
	<localRepository>D:\study\java\maven-repository</localRepository>

# 3. 配置jdk版本
	关键词-profile
	<profile>
      <id>jdk-1.8</id>
      <activation>
        <activeByDefault>true</activeByDefault>
        <jdk>1.8</jdk>
      </activation>

      <properties>
        <maven.compiler.source>1.8</maven.compiler.source>
        <maven.compiler.target>1.8</maven.compiler.target>
        <maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>
      </properties>
    </profile>

5. 命令

# 1. 编译(生成target文件夹;编译项目源码为字节码.java->.class)
mvn compile 

# 2. 清理(清理target目录下的文件)
mvn clean

# 3. 测试(生成测试报告文件夹surefile-reports)
mvn test

# 4. 打包(打包项目成jar或war)
mvn package

# 5. 安装到本地仓库(通过pom.xml安装jar包到本地仓库)
mvn install 

# 6. 创建maven项目
mvn archetype:generate -DgroupId=<groupId> -DartifactId=<projectName> -DarchetypeArtifactId=maven-archetype-webapp -Dversion=<version> -DinteractiveMode=false
	-DarchetypeArtifactId: web项目(可选)
	-DinteractiveMode: 控制台输入
	

# 7. maven依赖
mvn dependency:tree 
mvn dependency:list

# 8 web相关
mvn tomcat:run # 启动内嵌的tomcat服务器并运行当前项目 默认监听8080端口 -Dmaven.tomcat.port=<port>更改
mvn tomcat:deploy  # 部署打包的war到本地或远程tomcat服务器上
mvn tomcat:redeploy  
mvn tomcat:start  # 启动tomcat服务器上已部署的应用
mvn tomcat:stop
```
<!--pom.xml-->
<build>
	<plugins>

		<plugin>
			<groupId>org.apache.tomcat.maven</groupId>
			<artifactId>tomcat7-maven-plugin</artifactId>
			<version>${版本}</version>
			<configuration>				
				<path>/</path> <!--项目访问URL -->
				<port>8080</port>
			</configuration>
		</plugin>
	</plugins>
</build>
```

mvn jetty:run # 启动jetty服务 -Djetty.http.port=<port>

```
<!--pom.xml-->
<build>
    <plugins>
      <plugin>
        <groupId>org.eclipse.jetty</groupId>
        <artifactId>jetty-maven-plugin</artifactId>
        <version>${版本}</version>
      </plugin>
    </plugins>
  </build>
```

PS: springboot内嵌tomcat可直接运行也可单独在通过war包部署到本地tomcat上运行启动

mvn命令详情参考:https://www.cnblogs.com/wkrbky/p/6352188.html
jetty命令详情参考: https://www.cnblogs.com/yiwangzhibujian/p/5856857.html

6. 实例


posted @   爱编程_喵  阅读(19)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
jQuery火箭图标返回顶部代码

jQuery火箭图标返回顶部代码

滚动滑动条后,查看右下角查看效果。很炫哦!!

适用浏览器:IE8、360、FireFox、Chrome、Safari、Opera、傲游、搜狗、世界之窗.

点击右上角即可分享
微信分享提示