Maven学习与配置

概述

什么是maven:
是apache下的一个开源项目,是纯java开发的,并且只能用来管理java项目jar的仓库。(类似Anaconda3)
gradle
操作基本
清除(mvn clean)
编译(mvn compile)
测试(mvn test)
运行 (mvn tomcat:run)
打包(mvn package)
部署

Maven好处,为什么要用Maven:

  1. 依赖管理:就是对jar包的统一管理,可以节省空间。
    Maven项目里没有jar包,通过Maven引用。

  2. 一键构建:
    Mavne可以使运行java项目脱离Eclipse,脱离Tomcat(因为Maven本身就带了tomcat插件)。
    项目如果是javase导出的是jar包。
    如果是web项目导出的是war包。

  3. 可以跨平台

  4. 应用于大型项目,提高开发效率。
    电商系统:用户管理模块 订单管理模块 支付管理模块 .....
    Maven可以进行分模块开发。
    这些模块是不同的团队进行开发的。
    如果订单模块的代码需要用户模块的代码,按照原来的方式订单模块需要有用户模块的代码,
    运行的时候还需要编译这些代码,这样就非常不方便。
    每一个模块都是以jar包的方式存在别的模块中,就不需要知道具体的代码,也不需要编译,直接调用jar包中代码即可。

注意:依赖管理的不是war是jar。

安装、配置与使用

安装直接解压即可

程序关联仓库

image

image

配置环境变量

需要配置两个环境变量:

  1. 新建环境变量MAVEN_HOME,内容为安装目录\maven\apache-maven-x.x.x
    image

  2. 在Path变量中添加:%MAVEN_HOME%\bin
    image

配置完在命令窗口输入:mvn -v查看是否配置成功。
image

IDEA中配置Maven:

进入设置搜索maven,配置如图项目。
image

在这个位置需要重新配置一下:上面配置是对当前Project,这里是对新Project
image

IDEA创建Maven的Web项目

新建,然后选择Maven,
将Archetype选择org.apache.maven.archetypes:maven-archetype-webapp
将名称、组ID(groupId)、工件ID(artifactId)改成需要的名称,点击确认即可。
(后面会说到这些内容的含义)
image

坐标概念

坐标=groupId+artifactId+version

  • groupId:公司名称
  • artifactId:项目名或者模块名称
  • version:版本号

例如:com.situ.mall 1.0 1.1
image
创建项目时可以选择:
image

Maven使用

当需要使用某个jar包时,直接去pom.xml添加即可。

使用Maven创建JSP、Servlet项目,自带的tomcat运行

<dependencies>
  <dependency>
    <groupId>jstl</groupId>
    <artifactId>jstl</artifactId>
    <version>1.2</version>
  </dependency>
  <dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>javax.servlet-api</artifactId>
    <version>3.1.0</version>
    <scope>provided</scope>
  </dependency>
  <dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>jsp-api</artifactId>
    <version>2.0</version>
    <scope>provided</scope>
  </dependency>
  <dependency>
    <groupId>com.mysql</groupId>
    <artifactId>mysql-connector-j</artifactId>
    <version>8.0.31</version>
  </dependency>
</dependencies>

<build>
  <finalName>ddd</finalName>
  <pluginManagement><!-- lock down plugins versions to avoid using Maven defaults (may be moved to parent pom) -->
    <plugins>
      <plugin>
        <groupId>org.apache.tomcat.maven</groupId>
        <artifactId>tomcat7-maven-plugin</artifactId>
        <version>2.2</version>
        <configuration>
          <port>8081</port>
          <path>/shi</path>
        </configuration>
      </plugin>
    </plugins>
  </pluginManagement>
</build>

项目运行

方法1:命令行

输入:mvn tomcat7:run
image

方法2:配置

  1. 在窗口右上角选择 编辑配置
    image
  2. 选择新建Maven
    image
  3. 运行命令行处,输入:tomcat7:run,点击确定即可。
    image

三种仓库:

1、本地仓库(自己维护)。
2、远程仓库(私服:私有服务器),公司维护。(这个仓库一般公司不一定有)
3、中央仓库,maven团队维护。
image

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

常见错误解决

1. 报错No archetype found in remote catalog. Defaulting to internal catalog
image

在图片指定位置输入-DarchetypeCatalog=internal
image

posted @ 2022-12-16 13:47  kingwzun  阅读(61)  评论(0编辑  收藏  举报