Eclipse安装配置启动 Maven

1:Maven的介绍:

什么是 Maven ?
在这里插入图片描述Maven 翻译为"专家", “内行” 是 Apache 下的一个纯 Java 开发的一个开源项目.
Maven是一个项目管理工具,使用 Maven 可以来管理企业级的 Java 项目开发及依赖的管理.
使用 Maven开发,可以简化项目配置,统一项目结构,总之,Maven 可以让开发的工作变得更简单

  1. 什么是依赖管理?要明白依赖管理,要先要知道什么是依赖?

一个 Java 项目中往往会依赖一些第三方的 jar 包,比如 JDBC 程序中要依赖数据库驱动包,或者在使用c3po 连接池时要依赖 c3po 的 jar 等,这时我们称这些 Java 项目依赖第三方jar 包.而所谓的依赖管理,其实就是对项目中所以依赖的 jar 包进行规范管理.

2:Maven功能

Maven 能帮助开发者完成以下的工作:

  • 构建
  • 文档生成
  • 报告
  • 依赖
  • SCMs
  • 发布
  • 分开
  • 邮件列表

3: Maven 的约定大于配置

Maven 提倡使用一个共同的标准目录结构,Maven使用约定优于配置的原则,尽可能的遵守这样的目录结构

目录目的
${basedir}存放pom.xml和所有的子目录
${basedir}/src/main/java项目的java源代码
${basedir}/src/main/resources项目的资源,比如说property文件,springmvc.xml
${basedir}/src/test/java项目的测试类,比如说Junit代码
${basedir}/src/test/resources测试用的资源
${basedir}/src/main/webapp/WEB-INFweb应用文件目录,web项目的信息,比如存放web.xml、本地图片、jsp视图页面
${basedir}/target打包输出目录
${basedir}/target/classes编译输出目录
${basedir}/target/test-classes测试编译输出目录
Test.javaMaven只会自动运行符合该命名规则的测试类
~/.m2/repositoryMaven默认的本地仓库目录位置 也是重要的 jar 存放位置

== 4: Maven的特点==

  • 项目设置遵循统一的规则.
  • 任意工程中共享.
  • 依赖管理包括自动跟更新.
  • 一个庞大且不断增长的库.
  • 可扩展,能够轻松编写 Java 或脚本语言的插件.
  • 只需很少或不需要额外即配置即访问新功能.
  • 基于模型的构建 - Maven 能够任意数量的项目构建到预定义输出类型中,如 JAR,WAR 或基于项目元数据的分发,而不需要在大多数情况下执行任何脚本。
  • 项目信息的一致性站点 - 使用与构建过程相同的元数据,Maven能够生成一个网站或PDF,包括您要添加的任何文档,并添加到关于项目开发状态的标准报告中。
  • 发布管理和发布单独的输出 - Maven 将不需要额外的配置,就可以与源代码管理系统(如 Subversion 或 Git)集成,并可以基于某个标签管理项目的发布。它也可以将其发布到分发位置供其他项目使用。Maven 能够发布单独的输出,如 JAR,包含其他依赖和文档的归档,或者作为源代码发布。
  • 向后兼容性 - 您可以很轻松的从旧版本 Maven的多个模版移植到Maven3 中,
  • 子项目使用父项目依赖时,正常情况子项目应该继承父项目,无需使用版本号
  • 并行构建 - 编程的速度能普遍 提高 20 - 50%
  • 更好的错误报错 - Maven 改进了错误报告,它为您提供了 Maven wiki页面的链接,您可以点击链接 查看错误的完整描述.

Maven 的安装配置

下载,安装 Maven

  • 1:官方下载地址: http://maven.apache.org/download.cgi
    在这里插入图片描述

  • 2: 下载对应的版本之后:解压之后就可以使用:

    1: 通过 macbook 终端 cd 到该下载包目录通过命令直接解压 : tar zxvf apache-maven-3.6.3-bin.tar.gz
    2: 直接解压比较快.

    在这里插入图片描述

  • 3: 然后去设置 Maven环境变量
    添加环境变量Windows: MAVEN_HOME:
    在这里插入图片描述Mac 添加环境变量:
    在这里插入图片描述 Maven 仓库配置本地位置

    • 在仓库的术语中,仓库是一个位置 (place)
    • Maven仓库是项目中依赖的第三方仓库,这个库所在的位置叫做仓库
    • 在 Maven中,任何一个依赖,插件或者项目的输出,都可以称之为构件
    • Maven 仓库能帮助我们管理构件,(主要是 JPR),它就是放置所有的 JPR文件,(WAR,ZIP,POM等)的地方
    • 在 Maven 仓库有三种类型

    本地仓库(local) /Users/huanghao/.m2/repository

     	- 当我我们的本地仓库,在安装 Maven 后并不会创建,它是在第一次执行maven的命令的时候才被创建.运行 maven 的时候,maven 所需要的任何构件都是直接从本地仓库获取的,如果本地仓库没有,它会首先尝试从远程仓库下载构件至我们的本地仓库,然后再使用本地仓库的构件.
     	- 默认情况下,不管在 Linux 还是 Windows 上,每个username目录下都有一个路径为 .m2/respository/ 的仓库目录。
     	- Maven 本地仓库默认被创建,%USER_HOME% 目录下。要修改默认位置,在 %M2_HOME%\conf 目录中的 Maven 的 settings.xml 文件中定义另一个路径。   
     	![在这里插入图片描述](https://img-blog.csdnimg.cn/20200725100157773.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NDE5NTM2NQ==,size_16,color_FFFFFF,t_70)
    
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 
   http://maven.apache.org/xsd/settings-1.0.0.xsd">
      <localRepository>C:/MyLocalRepository</localRepository>其实这里就是自己要创建和指定的构件存在位置的路径
</settings>
当你在运行 Maven 命令,Mave将下载依赖的文件到指定的路径中

中央仓库(central) 链接: https://mvnrepository.com/
在这里插入图片描述

  • Maven 中央仓库是由 Maven 社区提供的仓库,其中包含了大量常用的库
  • 中央仓库包含了绝大多数流行的开源 Java 构件,以及源码,作者信息,SCM,信息,许可信息等,一般来说,简单的 Java项目依赖的构件都可在这里下载.
  • 中央仓库下载概念:
    - 这个仓库由 Maven 社区管理
    - 不需要配置
    - 需要通过网络才能访问

远程仓库(remote)
1: 如果 Maven 在中央仓库中也找不到依赖的文件,它会停止构建过程并输出错误信息到控制台。为避免这种情况,Maven 提供了远程仓库的概念,它是开发人员自己定制仓库,包含了所需要的代码库或者其他工程中用到的 jar 文件。
举例说明,使用下面的 pom.xml,Maven 将从远程仓库中下载该 pom.xml 中声明的所依赖的(在中央仓库中获取不到的)文件。

/Users/huanghao/maven/apache-maven-3.6.1/conf/settings.xml 修改里面的配置

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

<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
  <localRepository>/Users/huanghao/.m2/repository</localRepository>
  <pluginGroups>
  </pluginGroups>  
  <proxies>    
  </proxies>
  <servers>  
  </servers>  
<mirrors>
<mirror>
<id>ali maven</id>
<name>aliyun maven</name>
<url>https://maven.aliyun.com/repository/public/</url>
<mirrorOf>central</mirrorOf>
</mirror>
<mirror>
<id>ui</id>
<mirrorOf>central</mirrorOf>
<name>Human Readable Name for this Mirror.</name>
<url>http://uk.maven.org/maven2/</url>
</mirror>
<mirror>
<id>ibiblio</id>
<mirrorOf>central</mirrorOf>
<name>Human Readable Name for this Mirror.</name>
<url>http://mirrors.ibiblio.org/pub/mirrors/maven2/</url>
</mirror>

<mirror>
<id>jboss-public-repository-group</id>
<mirrorOf>central</mirrorOf>
<name>JBoss Public Repository Group</name>
<url>http://repository.jboss.org/nexus/content/groups/public</url>
</mirror>
<!--访问慢的网址放入到后面-->
<mirror>
<id>CN</id>
<name>OSChina Central</name>
<url>http://maven.oschina.net/content/groups/public/</url>
<mirrorOf>central</mirrorOf>
</mirror>
<mirror>
<id>net-cn</id>
<mirrorOf>central</mirrorOf>
<name>Human Readable Name for this Mirror.</name>
<url>http://maven.net.cn/content/groups/public/</url>
</mirror>
<mirror>
<id>JBossJBPM</id>
<mirrorOf>central</mirrorOf>
<name>JBossJBPM Repository</name>
<url>https://repository.jboss.org/nexus/content/repositories/releases/</url>
</mirror>
</mirrors> 
  <profiles>      
    <profile>
            <id>development</id>
            <activation>
            <jdk>1.8</jdk>
            <activeByDefault>true</activeByDefault>            
            </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>
  </profiles>  
</settings>

配置 JDK 版本
1: 通过 Maven 创建的工程,JDK 版本默认是 JDK1.5 每次都要手动改为更高的版本.
2: 这里可以通过修改 maven 的 settings.xml 文件,达到一劳永逸的效果.

配置方式为:打开 {maven根目录}/conf/settings.xml 文件并编辑,在 settings.xml文件内部的 <profiles> 标签内部添加如下配置:

<profiles>      
    <profile>
            <id>development</id>
            <activation>
            <jdk>1.8</jdk>
            <activeByDefault>true</activeByDefault>            
            </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>
  </profiles>  

5: =将 Maven 配置到 Eclispe 中

将 Maven 工具诶之 Eclispe 中,就可以通过 Eclipse 和自己安装 Maven 创建 Maven 项目目了
1. 打开 Eclispe.点击 Windows右键–> Preferences:
在这里插入图片描述
**2: 点击 Maven 选项,在右键选项中勾选 “Download Artifact Sources”:
在这里插入图片描述
**3: 点击 add 将自己安装 Maven添加进来:
在这里插入图片描述
4:添加自己的 Maven:
在这里插入图片描述
**一定要注意:**自己安装的Maven不要放在桌面上(容易丢失,并且路径中往往有空格),maven的安装路径中也不要包含中文和空格!!
在这里插入图片描述
5、==将默认的maven切换为自己配置的maven:
在这里插入图片描述
6、设置maven的settings文件的位置:
在这里插入图片描述
**7、测试是否配置成功:window—> show view —> other中搜索"maven",点击下面的选框中的选项
在这里插入图片描述在弹出的窗口中,查看自己配置的本地仓库和远程仓库镜像:在这里插入图片描述

6:Maven在 Eclipse 的项目构建

通过 Maven 构建 Java 项目分为两种方式:

  1. 使用简单方式创建: 创建 Maven 的简单 Java 工程以及创建 Maven 的简单 Web 工程
  2. 使用模版方式创建: 创建使用模版 Java 工程以及创建使用模版的 Web 工程,

在利用 Maven 构建项目时分两种,第一种是:创建简单工程(Create a simple project),即在创建勾选全面的框
在这里插入图片描述
(不勾选前面的框,即创建使用骨架,其实就是模版,创建 Maven 工程)
另,在创建简单工程,还分为创建 Java 工程和 JavaWeb 工程,下面分别进行演示:

创建简单工程—Java 工程
1.空白处右键 New --> Maven Project:
在这里插入图片描述
2:在弹出的窗口中,勾选前面的框,创建一个简单工程,进入下一步
在这里插入图片描述3:在弹出窗口中,填写内容 Package 选择 jar,即创建 Java 工程,点击完成即可:
在这里插入图片描述在上述内容中,必填的内容有四项:

(1)Group Id – 组的名称,通常填写公司名称(比如com.tedu)或者组织名称(org.apache…)

(2)Artifact Id – 项目名称或者模块名称

(3)Version – 项目的版本,创建的项目默认是0.0.1-SNAPSHOT快照,也叫非正式版,正式版是RELEASE)

(4)Package – 项目的类型:jar表示创建的是Java工程,war表示创建的是web工程,pom表示创建的是父工程(当然相对的还有子工程)或者聚合工程,pom目前我们不讨论。

填写完毕后,点击完成即可完成创建简单Java工程

创建简单工程—Web工程

1、空白处右键New —> Maven Project:
2、在弹出的窗口中,勾选前面的框,创建一个简单工程(即不使用骨架),进入下一步。
3、在弹出的窗口中,填写内容(Package选择war,即创建web工程),点击完成即可。在这里插入图片描述
4、创建完成后pom.xml文件会报错,说找不到web.xml文件,例如:
**手动添加(拷贝)即可,例如:**
手动添加(拷贝)即可,例如:
在这里插入图片描述
5、创建Servlet程序,测试运行环境。
在这里插入图片描述
上面的错误是因为运行环境中缺少Servlet的jar包,将tomcat运行环境添加过来即可!

!!缺少Servlet运行环境解决方案:
在项目上点击鼠标右键,选择 “Properties” —> “Targeted Runtimes”:
在这里插入图片描述
或者,在项目中的pom.xml文件中的根标签下添加Servlet的jar包的坐标,引入Servlet的jar包,如下:

<dependencies>
    <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>servlet-api</artifactId>
        <version>2.5</version>
        <scope>provided</scope>
    </dependency>
    <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>jsp-api</artifactId>
        <version>2.0</version>
        <scope>provided</scope>
    </dependency>
</dependencies>

添加后保存pom文件。若还报错,在项目上右键选择 “Maven” —> “UpdateProject…” 更新工程即可!
6、实现Servlet程序
在这里插入图片描述

**7、测试访问:**打开浏览器访问地址:http://localhost/MavenSimpleProJavaweb/HelloServlet
在这里插入图片描述

Maven的目录结构

使用Maven创建的工程我们称它为Maven工程,Maven工程具有一定的目录规范,对目录结构有严格的要求,一个Maven工程要具有如下目录结构:
在这里插入图片描述
下面以Maven的Web项目为例,介绍Maven项目中的目录结构:

Maven项目名称(Web项目)
|-- src/main/java(源码目录):用于存放程序/项目所需要的java源码文件
|-- src/main/resources(源码目录):用于存放程序/项目所需要的配置文件
|-- src/test/java(源码目录):用于存放测试程序的java源文件
|-- src/test/resources(源码目录):用于存放测试程序所需要配置文件
|-- src/main/webapp:(Web应用的根目录,作用类似于WebContent)
|-- WEB-INF:(受保护的目录)
|-- web.xml:(Web应用的核心配置文件)
|-- target/classes(类目录):源码目录中的资源经过编译后,会输出到类目录下。
|-- pom.xml:Maven项目中非常重要的文件,将来项目需要任何jar包或插件,都可以通过pom文件来导入这些jar包或插件。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值