欢迎光临散文网 会员登陆 & 注册

Java基础-Maven浅析01

2023-06-14 22:57 作者:懒人Java屈原  | 我要投稿

什么是Maven?

在Java开发过程中,为了实现功能,我们往往要引用大量外部的库与框架,如mybatis、mysql-connector.jar, Springboot等待。管理这些外部库与框架,是一件非常让人头疼的事情,而Maven是一个构建自动化与项目管理的工具,它简化了我们编译、运行、打包步骤,让开发人员更关注于编写代码而不是处理一些复杂的构建脚本。

Maven的生命周期

上图中,是我们IDEA工具中常见的生命周期,它实际是可以划分成3大块(clean、default、site)

clean生命周期:

清理上一次构建信息

default生命周期

  • validate: 校验项目的结构与配置文件

  • compile: .java文件编译成.class,自动下载依赖的jar包

  • test: 单元测试跑起来

  • package: 项目打成jar包

  • verify: 对集成测试的结果进行检查,以保证质量达标

  • install: 将jar包放到本地的maven仓库

  • deploy: 将本地的工程包推送到远程服务器

site生命周期

将项目中的文档、README文件、API文档等信息提取出来,并将其转换为HTML、PDF等格式的文档,以便用户查看和下载

Maven工程创建

groupId:项目组或者组织的唯一标识,如com.aliyun.schedulerx

artifactId:项目或者模块的名字

idea创建

mvn命令创建

mvn archetype:generate -DgroupId=com.lazy.java -DartifactId=hello -DarchetypeArtifactId=maven-archetype-quickstart -Dversion=1.0

项目结构:

maven定义了严格的项目文件格式,不按照这个文件格式,会导致项目编译部署出现问题

src/main/java –存放项目的.java文件src/main/resources –存放项目资源文件。比方spring,hibernate配置文件src/test/java –存放全部測试.java文件,比方JUnit測试类src/test/resources ---測试资源文件target ---项目输出位置,编译完毕后的东西放到这里面pom.xml

Pom文件格式

父子模块pom配置

父模块POM配置

<!-- 配置子模块-->

<modules>

    <module>customercore-api</module>

    <module>customercore-service</module>

</modules>


<!--环境-->

<profiles>

    <profile>

        <id>dev</id>

        <properties>

            <envro>dev</envro>

        </properties>

        <activation>

            <activeByDefault>true</activeByDefault>

        </activation>

    </profile>

    <profile>

        <id>prod</id>

        <properties>

            <envro>prod</envro>

        </properties>

    </profile>

</profiles>


<!--父模块jar包版本统一控制-->

<dependencyManagement>

        <dependencies>

            <dependency>

                <groupId>com.duobaoyu.systemcenter</groupId>

                <artifactId>system-center-api</artifactId>

                <version>1.0.${envro}-SNAPSHOT</version>

            </dependency>

        </dependencies>

</dependencyManagement>


子工程pom配置



Java基础-Maven浅析01的评论 (共 条)

分享到微博请遵守国家法律