Maven_基础动力节点

31-43 maven基础_动力节点

idea中设置maven #

  • 和idea集成maven ly-20241212142146614

创建普通的j2se项目 #

  • 使用idea创建空白项目 ly-20241212142146810

  • 新建一个module ly-20241212142146873

  • 使用模板创建普通java项目 ly-20241212142146930

  • 输入gav ly-20241212142146987

  • 设置maven信息 ly-20241212142147048

  • 标准的maven工程 ly-20241212142147103

    • 与创建网站有关,删掉即可

      <?xml version="1.0" encoding="UTF-8"?>
      
      <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.bjpowernode</groupId>
        <artifactId>ch01-maven-j2se</artifactId>
        <version>1.0</version>
      
        <!--设置网站,注释掉即可-->
      <!--  <name>ch01-maven-j2se</name>
        <!– FIXME change it to the project's website –>
        <url>http://www.example.com</url>-->
      
        <properties> <!--maven常用设置-->
          <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
          <maven.compiler.source>1.8</maven.compiler.source>
          <maven.compiler.target>1.8</maven.compiler.target>
        </properties>
      
        <dependencies>
          <dependency><!--单元测试-->
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.11</version>
            <scope>test</scope>
          </dependency>
        </dependencies>
      
        <build>
          <!--插件版本的配置,无特殊指定则删除-->
          <pluginManagement><!-- lock down plugins versions to avoid using Maven defaults (may be moved to parent pom) -->
            <plugins>
              <!-- clean lifecycle, see https://maven.apache.org/ref/current/maven-core/lifecycles.html#clean_Lifecycle -->
              <plugin>
                <artifactId>maven-clean-plugin</artifactId>
                <version>3.1.0</version>
              </plugin>
              <!-- default lifecycle, jar packaging: see https://maven.apache.org/ref/current/maven-core/default-bindings.html#Plugin_bindings_for_jar_packaging -->
              <plugin>
                <artifactId>maven-resources-plugin</artifactId>
                <version>3.0.2</version>
              </plugin>
              <plugin>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.8.0</version>
              </plugin>
              <plugin>
                <artifactId>maven-surefire-plugin</artifactId>
                <version>2.22.1</version>
              </plugin>
              <plugin>
                <artifactId>maven-jar-plugin</artifactId>
                <version>3.0.2</version>
              </plugin>
              <plugin>
                <artifactId>maven-install-plugin</artifactId>
                <version>2.5.2</version>
              </plugin>
              <plugin>
                <artifactId>maven-deploy-plugin</artifactId>
                <version>2.8.2</version>
              </plugin>
              <!-- site lifecycle, see https://maven.apache.org/ref/current/maven-core/lifecycles.html#site_Lifecycle -->
              <plugin>
                <artifactId>maven-site-plugin</artifactId>
                <version>3.7.1</version>
              </plugin>
              <plugin>
                <artifactId>maven-project-info-reports-plugin</artifactId>
                <version>3.0.0</version>
              </plugin>
            </plugins>
          </pluginManagement>
        </build>
      </project>
      

单元测试 #

  • 关于idea颜色 ly-20241212142147158

    ...

17-30 maven基础_动力节点

本地仓库的设置 #

  • 远程仓库–>本地仓库

  • maven仓库

    • 存放maven工具自己的jar包
    • 第三方jar,比如mysql驱动
    • 自己写的程序,可以打包为jar,存放到仓库
  • 分类

    • 本地仓库(本机):位于自己计算机中,磁盘中某个目录

      • 默认位置 登录操作系统的账号目录/.m2/repository C:\Users\ly.m2\repository

      • 可修改 比如放在d盘中

        英[rɪˈpɒzətri] D:\software\apache-maven-3.8.6\repository 备份并编辑 ly-20241212142145669 改成左斜杠的方式

        <settings xmlns="http://maven.apache.org/SETTINGS/1.2.0"
                  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                  xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.2.0 https://maven.apache.org/xsd/settings-1.2.0.xsd">
          <!-- localRepository
           | The path to the local repository maven will use to store artifacts.
           |
           | Default: ${user.home}/.m2/repository
          <localRepository>/path/to/local/repo</localRepository>
          -->
           <localRepository>D:/software/apache-maven-3.8.6/repository</localRepository>
        
      • 把之前user下的repository的文件都拷贝到 D:/software/apache-maven-3.8.6/repository 下 然后再对Hello项目进行编译 mvn compile 发现不会下载任何文件,且user下的repository也不会再进行下载

      • 下面的资源是从maven中下载,或者用maven打包的 ly-20241212142145849

    • pom.xml来说明某个项目需要怎么处理代码、项目结构

    <?xml version="1.0" encoding="UTF-8" ?>
    
    <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/maven-v4_0_0.xsd">
        <modelVersion>4.0.0</modelVersion>
    
        <groupId>com.bjpowernode</groupId>
        <artifactId>ch01-maven</artifactId>
        <version>1.0-SNAPSHOT</version>
        <packaging>jar</packaging>
        <properties>
        		<java.version>1.8</java.version>
        		<maven.compiler.source>1.8</maven.compiler.source>
        		<maven.compiler.target>1.8</maven.compiler.target>
        </properties>
        <dependencies>
        		<dependency>
        				<groupId>mysql</groupId>
        				<artifactId>mysql-connector-java</artifactId>
        				<version>5.1.9</version>
        		</dependency>
        </dependencies>
    
    </project> 
    
    • mvn命令需要在pom.xml所在的目录下执行 ly-20241212142145908

仓库的工作方式 #

ly-20241212142145966

...

01-16 maven基础_动力节点

课程介绍 #

  • maven 自动化构建–>开发–编译–运行-测试–打包–部署 (m ei ’ ven)

maven的作用 #

  • 软件是一个工程
  • 软件中重复的操作(开发阶段)
    • 需求分析
    • 设计阶段
    • 开发阶段(编码),编译,测试
    • 测试阶段(专业测试),测试报告
    • 项目打包,发布,给客户安装项目
  • maven
    • 项目自动构建,清理、编译、测试、打包、安装、部署
    • 管理依赖:项目中需要使用的其他资源

Maven中的概念 #

  • 没有使用maven,管理jar,手动处理jar,以及jar之间的依赖
  • maven是apache 【əˈpætʃi】基金会的开源项目,使用java语法开发
  • maven是项目的自动化构建工具,管理项目依赖
  • maven中的概念
    • POM
    • 约定的目录
    • 坐标
    • 依赖管理
    • 仓库管理
    • 生命周期
    • 插件和目标
    • 继承 (高级内容)
    • 聚合 (高级内容)

Maven资源的获取与安装,测试 #

  • https://maven.apache.org/index.html

    • 各种内容 ly-20241212142144318

    • 要求 ly-20241212142144503

    • 视频用的3.6.3 ,这里下载3.8.6 (最新的,不要和电脑原配置冲突,方便学习,后续改回3.8.4)

      • 检查java home ly-20241212142144566

        • 如果没有需要进行配置 ly-20241212142144629
        • ly-20241212142144689
      • 将maven的bin目录配置到path环境变量下(这里使用的是下一节的方法,视频中没有用MAVEN_HOME,而是直接将maven的bin目录路径加到path中) ly-20241212142144751

        ly-20241212142144812

  • maven解压后的目录结构 ly-20241212142144869

另一种安装方式 #

  • 确定JAVA_HOME是否有效
  • 创建M2_HOME(MAVEN_HOME),值为maven的安装目录
  • 在path环境中,加入%M2_HOME%\bin
  • 测试maven安装 mvn -v

约定的目录结构 #

  • 大多数人遵守的目录结构

    ...