使用Maven创建项目

本文详细介绍了Maven的基础配置,包括环境变量设置、镜像地址修改和本地仓库创建,强调了其统一项目结构和依赖管理的优势。在IDEA中集成Maven,创建主项目和子模块,并解析了pom文件的配置。Maven的坐标由groupid、artifactId和version确定,依赖管理涉及范围选择。此外,还概述了Maven的生命周期,包括Clean、Default和Site三个生命周期阶段。
摘要由CSDN通过智能技术生成

Java知识点总结:想看的可以从这里进入

2、Maven项目


2.1 基础配置

在此前的java程序需要导入各种不同的jar包,来实现项目的开发,但是这样往往很花费大量时间,所以创建了Maven来管理搭建项目,maven提供了自动化构建,省去了程序员大量重复的部署工作,简化了我们的开发,让我们更加专注与编写代码。简单来说,Maven 是专门用于构建和管理Java相关项目架构的工具,方便我们导入jar包。

Maven的核心思想约束大于配置.

  1. 下载安装

在这里插入图片描述

在这里插入图片描述

  1. 配置环境变量

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

  1. 在cmd中进行验证:输入 mvn -version 进行验证

在这里插入图片描述

  1. 修改下载镜像地址

    建议把配置的镜像修改成阿里云,默认的镜像为国外,会导致下载缓慢。

    在conf文件夹下的settings.xml文件的内添加以下代码:

      <mirror>
          <id>alimaven</id>
          <name>aliyun maven</name>		
          <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
          <mirrorOf>central</mirrorOf>
      </mirror>
    
  2. 手动创建本地仓库:

    在maven目录创建文件 repository

    在conf文件夹下的settings.xml文件添加配置:目录/repository。

    优点:
    1、有统一的项目结构
    	pom.xml 用于维护当前项目所用jar包
    	java代码都放在 src/main/ 下面
    	测试代码都放在src/test/ 下面
    2、把jar都统一放在一个仓库里面,后续的项目如果需要只要给出相应的依赖即可
    

2.2 IDEA集成

2.2.1 创建主项目
  1. IDEA创建Maven项目:

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

  1. 配置Maven
    在这里插入图片描述

  2. 项目结构

在这里插入图片描述

在这里插入图片描述

2.2.2 创建子模块

删除主模块的src文件夹,然后创建一个module为子项目,子项目可以使用父模块的java

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

2.3 pom文件

pom文件是Maven工程的核心配置

<?xml version="1.0" encoding="UTF-8"?>

<!--Maven的版本和头文件信息-->
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>

  <!--创建项目时配置的坐标-->
  <groupId>com.yu</groupId>
  <artifactId>javawebs</artifactId>
  <version>1.0-SNAPSHOT</version>
  <!--子模块-->
  <modules>
    <module>demo1</module>
  </modules>
  <!--打包方式 :jar是java应用。war是web应用-->
  <packaging>war</packaging>

  <!--配置,可以统一配置编码或者依赖的一些版本-->
  <properties>
    <!--默认的编码方式和版本-->
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <maven.compiler.source>1.7</maven.compiler.source>
    <maven.compiler.target>1.7</maven.compiler.target>
  </properties>

  <!--导入项目依赖,会自动导入所依赖的其他jar包,但前提是scope的范围为compile的jar-->
  <dependencies>
    <dependency>
    </dependency>
  </dependencies>

  <!--项目构建使用的一些配置-->
  <build>
  </build>

</project>
  1. 约定>配置>编码

    <!--在build中配置resoureces,来防止我们资源导出失效的问题-->
    <build>
        <resources>
            <resource>
                <directory>src/main/resources/</directory>
                <includes>
                    <include>**/*.properties</include>
                    <include>**/*.xml</include>
                </includes>
                <filtering>true</filtering>
            </resource>
            <resource>
                <directory>src/main/java</directory>
                <includes>
                    <include>**/*.properties</include>
                    <include>**/*.xml</include>
                </includes>
                <filtering>true</filtering>
            </resource>
        </resources>
    </build>
    
  2. Maven坐标:通过以下几个配置啦确定一个maven工程

    groupid:公司或组织的域名倒序
    artifactId:当前项目的模块名称
    version:当前模块的版本

  3. 依赖管理:

    <dependencies>
        <dependency>
          <groupId>junit</groupId>
          <artifactId>junit</artifactId>
          <version>4.11</version>
          <scope>test</scope> <!--依赖的范围compile(主程序测试都有效、可传递)、test(测试有效)、provided-->
        </dependency>
      </dependencies>
    
    有效范围compiletestprovided
    主程序×
    测试程序
    参与部署××
    <!--依赖排除-->
    <dependency>
    	 <groupId>com.atguigu.maven</groupId>
    	 <artifactId>HelloFriend</artifactId>
    	 <version>0.0.1-SNAPSHOT</version>
    	 <type>jar</type>
    	 <scope>compile</scope>
    	 <exclusions> 
    		 <exclusion> 
    			 <groupId>commons-logging</groupId> 
    			 <artifactId>commons-logging</artifactId> 
    		 </exclusion> 
    	 </exclusions> 
    </dependency>
    
    <!--统一声明版本 -->
    <properties>
    	 <spring-core>4.1.1.RELEASE</spring-core>
    </properties>
    <!--直接引用版本 -->
    <dependencies>
    	 <dependency>
    		 <groupId>org.springframework</groupId>
    		 <artifactId>spring-core</artifactId>
    		 <version>${spring-core}</version>
    	 </dependency>
    </dependencies>
    
  4. Maven生命周期

    生命周期定义了各个构建环节的执行顺序,它们之间互相独立
    1、Clean Lifecycle :清理工作。
    	pre-clean 执行一些需要在 clean 之前完成的工作
    	clean 移除所有上一次构建生成的文件
    	post-clean 执行一些需要在 clean 之后立刻完成的工作
    	
    2、Default Lifecycle:构建的核心部分,编译,测试,打包,安装,部署等等。
    	process-resources 复制并处理资源文件至目标目录,准备打包。
    	compile 编译项目的源代码。
    	process-test-resources 复制并处理资源文件至目标测试目录。
    	test-compile 编译测试源代码。
    	test 使用合适的单元测试框架运行测试。这些测试代码不会被打包或部署。
    	package 接受编译好的代码并打包,如 JAR、war等。
    	install 将包安装至本地仓库,以让其它项目依赖。
    	deploy 将最终的包复制到远程的仓库,以让其它开发人员与项目共享或部署到服务器上运行。
    	
    3、Site Lifecycle:生成项目报告,站点,发布站点。
    	pre-site 执行生成站点文档之前的工作
    	site 生成项目的站点文档
    	post-site 执行在生成站点文档之后的工作,为部署做准备
    	site-deploy 将站点文档部署到服务器上
    
    
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

辰 羽

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值