Maven项目构建工具使用

简介: 本文章纯属于个人学习记录,有兴趣爱好者可以一起讨论,不喜勿喷.(本人邮箱: 893239524@qq.com)

(可知meven是我们开发过程中必不可少的一个构建工具,不过还是会有很多人不太了解如何使用,我是先接触的graidle构建工具的后来发现的其前生maven,用起来感觉差不多。)


1.检查%JAVA_HOME% 路径(毕竟maven本身就是java程序,需要JVM)


2.想要搭建maven环境自然少不了先下载maven必要文件:

http://maven.apache.org/download.cgi

(下载压缩包到电脑,现在一个无中文无空格的路径解压,后期避免不必要的麻烦,如:D:\maven\apache-maven-3.3.9)


3.配置maven相关环境变量:
MAVEN_HOME 或者 M2_HOME (建议选择后者,有利于向下兼容)  value: D:\maven\apache-maven-3.3.9

path  value: D:\maven\apache-maven-3.3.9\bin

验证:运行 mvn -v 查看当前maven版本



4.了解maven工程项目结构:

1)特定的目录结构
①根目录:工程名

②src目录 :源码

③pom.xml文件: Maven工程的核心配置文件

④main目录:存放主程序

⑤test目录:存放java源文件

⑦resources目录:存放框架或其他工具的配置文件

2)遵守约定目录

①maven要负责项目的自动化构建,必须知道java源文件保存在哪里。

②如果我们自己定义的东西想让框架工具知道的两种方式:

   Ⅰ>以配置的方式明确告诉框架:

     在pom.xml文件中声明 <param-value>classpath:spring-context.xml</param>

    Ⅱ>遵守框架内部已经存在的约定

3)配置优先级   约定>配置>编码


5.maven常用命令:(dos下运行)

①注意:执行与构建过程相关的macen命令,必须进入pom.xml所在的目录。(编译、打包、测试...)

②常用:

<1>mvn clean :清理

<2>mvn compile : 编译主程序

<3>mvn test-compile : 编译测试程序

<4>mvn test :执行测试

<5>mvn package : 打包


6.maven联网问题

(当maven执行命令需要用到插件使先回到本地仓库查找,没有了才会联网下载)

1)maven本地仓库默认位置:系统当前家目录/.m2/repository  (如:C:\Users\lin\.m2\repository)

2)可以修改默认仓库为自己准好的:

①找到maven解压目录\conf\settings.xml

②打开settings.xml文件找到localRepository标签(大约在53行)

③将<localRepository> </localRepository> 从注解中取出来

④修改标签体内容为自己准备好的仓库目录

(如:<localRepository>E:\maven\m2\po</localRepository> 具体情况自己定)


7.maven中的坐标
使用下面三个向量在仓库中定位一个maven工程

①groupid :公司名或组织名倒序+项目名 :(groupid >com.lin.applicationName</groupid >)

②artifactid: 模块名  <artifactid>View</artifactid>

③version: 版本号 <version>1.0.1</version>

④坐标与文件路径关系如:(可以通过 mvn install命令将自己的项目添加到本地仓库中)

  

8.当新建的项目不符合web项目结构(缺少webIF等目录)


①在项目名上右键 点击properties

②选择Project Facets 

先将Dynamic Web Module 前面的 √ 号去掉点击apply,再把重新把Dynamic Web Module 勾上,这时底部出现Further configuration ......

选项,点进去,

只需修改路径就行,Generate web.xml保持勾选状态 ,选择ok, apply,ok 就ok了。


9.当在项目中新建jsp文件时报错,、

方法一:右键项目,build path 将tomcat的运行时环境添加进来就行

方法二:在pom.xml中添加servlet_api的依赖(maven中的解决办法,推荐)



10.依赖的范围

<scope>compile</scope>

<scope>test</scope>

<scope>provide</scope>

compile: 对主程序有效、对测试程序有效、参与打包(相应的jar包会被放到部署的目录下)

test: 对主程序无效、对测试程序有效、不参与打包 (例:junit4.jar)

provided: 对主程序有效、对测试程序有效、不参与打包、不参与部署(不在war包)(如:servlet-api.jar)



11.若想要把自己的项目用依赖引用到新项目中,需要将原项目中pom.xml文件右键运行maven install

这样才会在本地仓库中有相关依赖的文件,否则虽然有引用新项目中代码也不报错,当执行maven命令时不通过。

(对于要进行打包的程序就必须对被依赖项目安装到本地仓库,平常开发过程中可以不安装)


12.依赖是有传递性的,当引入某个依赖是会自动加载其相关联的jar包,如何所含带的jar包不够稳定或者会照成jar包冲突,则需要对不需要的jar包进行排除:

通过<exclusions>标签消除:

<dependency>

..............

<exclusions>

<exclusion>

<groupId>.... </groupId>

<artifactId> ....</artifactId> //写如相应依赖文件的坐标就会自动消除

<exclusion>

</exclusions>

</dependency>



点击对应jar包右键,选择open POM 打开就可以得到对应的坐标值。


13.统一版本控制

自定义标签名为 : atguigu.spring.version的标签,在需要相同版本的依赖出直接在

<version>${标签名}</version> ,在修改版本是只需要修改自定义标签中的版本就可以了,是不是很方便啊?



如:



(当然,这种自定义标签不只是用于同一管理版本,其他属性只要想用的都可以。)



14.由于maven远程仓库默认是在连接的国外的远程仓库,这样往往会让我们在构建项目的时候耗费的时间比较长,还有可能构建失败,这时候我们就该像到将maven的远程仓库改成国内的maven仓库:

找到maven安装目录下的 conf文件夹里的settings.xml文件,找到大约163行,找到:

<mirror>
      <id>maven.net.cn</id>
      <mirrorOf>central</mirrorOf>
      <name>central mirror in china</name>
      <url>http://maven.net.cn/content.groups/public</url>
    </mirror>

这是在注释内容中,需要将其移出到注释内容外面,我们可以将这改为:

<mirror>  
  <id>alimaven</id>  
  <name>aliyun maven</name>  
  <url>http://maven.aliyun.com/nexus/content/groups/public/</url>  
  <mirrorOf>central</mirrorOf>          
  </mirror>  



目录
相关文章
|
3月前
|
Java Maven
解决idea每次新建maven项目都需要重新配置maven的问题
解决idea每次新建maven项目都需要重新配置maven的问题
168 1
|
16天前
|
Java Maven
maven项目的pom.xml文件常用标签使用介绍
第四届人文,智慧教育与服务管理国际学术会议(HWESM 2025) 2025 4th International Conference on Humanities, Wisdom Education and Service Management
72 8
|
14天前
|
Java 应用服务中间件 Maven
Maven的三种项目打包方式——pom,jar,war的区别
Maven 提供了多种打包方式,分别适用于不同类型的项目。pom 用于父项目或聚合项目,便于项目的结构和依赖管理;jar 用于Java类库或可执行的Java应用程序;war 则专用于Java Web应用程序的部署。理解这些打包方式的用途和特点,可以帮助开发者更好地配置和管理Maven项目,确保构建和部署过程的顺利进行。无论是单模块项目还是多模块项目,选择合适的打包方式对于项目的成功至关重要。
37 3
|
1月前
|
Java 关系型数据库 MySQL
Maven——创建 Spring Boot项目
Maven 是一个项目管理工具,通过配置 `pom.xml` 文件自动获取所需的 jar 包,简化了项目的构建和管理过程。其核心功能包括项目构建和依赖管理,支持创建、编译、测试、打包和发布项目。Maven 仓库分为本地仓库和远程仓库,远程仓库包括中央仓库、私服和其他公共库。此外,文档还介绍了如何创建第一个 SpringBoot 项目并实现简单的 HTTP 请求响应。
129 1
Maven——创建 Spring Boot项目
|
1月前
|
Java 关系型数据库 MySQL
如何使用 maven 创建一个 Spring Boot项目
Maven 是一个强大的项目管理工具,通过配置 `pom.xml` 文件自动获取所需的 jar 包,提高开发效率。其核心功能包括项目构建和依赖管理。项目构建支持编译、测试、打包和发布等流程,而依赖管理则通过中央仓库、本地仓库和私有服务器获取和管理项目依赖。示例中展示了如何创建第一个 SpringBoot 项目并实现简单接口。
28 1
如何使用 maven 创建一个 Spring Boot项目
|
1月前
|
Java Maven Kotlin
idea maven创建kotlin项目
本文介绍了在IntelliJ IDEA中使用Maven创建Kotlin项目的步骤,包括在`pom.xml`文件中添加Maven中央仓库、配置`kotlin-maven-plugin`插件、指定源目录、添加测试插件和执行插件,以及添加Kotlin测试依赖和标准库依赖。文中还提到了如何通过更换镜像或使用代理来解决依赖下载速度慢的问题,并展示了运行示例代码的截图。
99 4
idea maven创建kotlin项目
|
1月前
|
Java Maven Android开发
eclipse创建maven项目
本文介绍了在Eclipse中创建Maven项目的步骤,包括打开Eclipse、选择Java项目、完成项目创建以及自动下载插件的过程。
89 2
eclipse创建maven项目
|
29天前
|
缓存 IDE Java
idea的maven项目打包时没有source下的文件
【10月更文挑战第21天】idea的maven项目打包时没有source下的文件
42 1
|
30天前
|
Java API Apache
除了 Maven,还有哪些工具可以管理项目的依赖和版本冲突
除了Maven,常用的项目依赖管理和版本冲突解决工具有Gradle、Ivy、Ant+Ivy、SBT等。这些工具各有特点,适用于不同的开发环境和需求。
|
1月前
|
Java 应用服务中间件 Maven
【终极解决方案】IDEA maven 项目修改代码不生效。
【终极解决方案】IDEA maven 项目修改代码不生效。
359 1