框架学习 一 、Maven 、从0到1、(解决项目无法启动问题)(maven,mybatis,spring,springmvc系列)

1什么是maven?

maven 是java的开源项目,安装运行需要jdk 运行环境

作用

1.java工程的jar包依赖管理

2.Java项目的构建 包括 编译 测试 打包 部署

2.maven安装

在这里插入图片描述

测试

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-qKpMIvVz-1602669625258)(maven-class.assets/image-20201013095910910.png)]

3.Maven配置

主要修改C:\soft\apache-maven-3.6.0\conf\settings.xml

maven 本地仓库默认地址,如果c盘控件充裕不需要配置

C:\Users\wgz.m2\repository

<localRepository>D://path/to/local/repo</localRepository>

4.仓库的分类

本地仓库

中央仓库

公共仓库

私服仓库

maven中央仓库官网

https://mvnrepository.com/

几乎所有的jar包最终的来源都是中央仓库

配置阿里云镜像

<!--setting.xml中添加如下配置-->
<mirrors>
	<mirror>
        <id>aliyun</id>  
        <!-- 中心仓库的 mirror(镜像) -->
        <mirrorOf>central</mirrorOf>    
        <name>Nexus aliyun</name>
        <!-- aliyun仓库地址 以后所有要指向中心仓库的请求,都会指向aliyun仓库-->
        <url>http://maven.aliyun.com/nexus/content/groups/public</url>  
    </mirror>
</mirrors>

5.idea创建工程

java工程

打包方式

打包方式
    jar 将当前工程打包为jar mvn package
    war 将工程打包为 war tomcat-java web工程使用
    pom 父子工程使用 父工程 表为pom

javaee工程


此处有错误,选择webapp

在这里插入图片描述

在pom中添加sevlet依赖

    <dependency>
      <!-- jstl 支持 -->
      <groupId>javax.servlet</groupId>
      <artifactId>jstl</artifactId>
      <version>1.2</version>
    </dependency>


    <!-- 引入servelet -api 依赖-->
    <dependency>
      <groupId>javax.servlet</groupId>
      <artifactId>javax.servlet-api</artifactId>
      <version>3.0.1</version>
      <!-- 编译时需要 运行时不需要  -->
      <scope>provided</scope>
    </dependency>

    <dependency>
      <groupId>javax.servlet.jsp</groupId>
      <artifactId>jsp-api</artifactId>
      <version>2.1</version>
      <scope>provided</scope>
    </dependency>

在这里插入图片描述

配置tomcat

在这里插入图片描述

遇到jar 下载不下来???

在这里插入图片描述

在这里插入图片描述

解决方式1

在这里插入图片描述

解决方式2

在这里插入图片描述

最后一定要重新刷新pom

5.jar依赖的声明周期

jar 的作用域

test:编译测试 需要,打包时不会将jar 打入

compile: 任何时候都需要

provided:编译时需要,运行时不需要

runtime:编译时不需要,运行时,测试时,打包时需要

 <dependencies>

    <!--test jar-->
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.11</version>
      <!-- 标记当前jar 只存在测试的阶段-->
      <scope>test</scope>
    </dependency>




    <dependency>
      <!-- jstl 支持 -->
      <groupId>javax.servlet</groupId>
      <artifactId>jstl</artifactId>
      <version>1.2</version>
    </dependency>


    <!-- 引入servelet -api 依赖-->
    <dependency>
      <groupId>javax.servlet</groupId>
      <artifactId>javax.servlet-api</artifactId>
      <version>3.0.1</version>
      <!-- 编译时需要,运行时不需要  -->
      <scope>provided</scope>
    </dependency>

    <dependency>
      <groupId>javax.servlet.jsp</groupId>
      <artifactId>jsp-api</artifactId>
      <version>2.1</version>
      <scope>provided</scope>
    </dependency>


    <dependency>
      <groupId>mysql</groupId>
      <artifactId>mysql-connector-java</artifactId>
      <version>8.0.17</version>
      <!--运行时才需要的jar 打包时也打进来-->
      <scope>runtime</scope>
    </dependency>


  </dependencies>

6.maven生命周期

三个:

clean 当需要重建工程时 clean 删除target

build 构建阶段

​ compile 编译

​ test junit 单元测试

​ package 将工程达成jar war

​ install 将打好的jar 安装到本地仓库

​ deploy 将打成jar 部署到 远程仓库

site 部署站点

7.私服

作用:

1.提高jar下载速度

2.解决公司因代码安全引起的不能直接访问外网仓库的问题

3.放置公司内部公共jar ,同事之间通过私服引用对方的jar

在这里插入图片描述

遇到jar无法导入问题

查询所有的 lastupdated

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值