博客
关于我
Java开发之Maven的基本配置及个人理解
阅读量:736 次
发布时间:2019-03-22

本文共 3838 字,大约阅读时间需要 12 分钟。

Maven入门与实践体会

作为一个项目管理工具,Maven已经成为开发者日常工作中不可或缺的工具。这款工具为项目开发提供了方便之处,但具体有哪些好的呢?这个问题其实可以一直写下去,但为了让文章更具可读性,我将重点分享一些实际工作中遇到的点。

Maven的基础配置

安装Maven其实异常简单。下载对应平台的Maven镜像包,解压后将Maven添加到环境变量中。配置完毕后,在命令提示符中输入mvn -v测试一下,若无错误信息说明 installation 成功。

Maven的简单用法

熟悉Maven命令是使用它的关键。以下是一些常用的命令:

  • 创建简单 Java 项目:
  • mvn archetype:create -DgroupId=com.example -DartifactId=project
    1. 创建 Web 应用:
    2. mvn archetype:create -DarchetypeGroupId=org.apache.maven.archetypes \  -DarchetypeArtifactId=maven-archetype-webapp \  -DgroupId=com.myapp -DartifactId=mywebapp
      1. 打包:
      2. mvn package
        1. 编译:
        2. mvn compile
          1. 二元atars 检查:
          2. mvn test
            1. 清 clean 项目结果:
            2. mvn clean
              1. 启动本地服务器:
              2. mvn jetty:run
                1. 安装项目到本地仓库:
                2. mvn install
                  1. 跳过测试(适合开发阶段):
                  2. mvn install -Dmaven.test.skip=true

                    对于这些命令,我发现在实际工作中经常会合并使用,例如 mvn clean compile install。而如果需要安装指定文件到本地仓库,可以使用 mvn install:install-file命令。

                    pom文件解析

                    pom.xml 是 Maven 项目的核心文件,它用 XML 格式定义了项目的生命周期、依赖关系以及其他安装的配置。pom 的全称是 Project Object Model,可以说它决定了项目要怎么建、怎么依赖、怎么运行。

                    常见的 pom 部分包括:

                    1. 依赖管理

                    junit
                    junit
                    4.0.0
                    test
                    true

                    这个部分用来配置项目需要的第三方库,通过 <dependency> 标签明确依赖工件的 groupId、artifactId、版本等信息。这样做的好处是统一管理依赖版本,避免冲突。

                    2. 继承关系

                    org.codehaus.mojo
                    my-parent
                    ../my-parent
                    2.0

                    父项目是一个非常重要的概念。它用来共享模块之间的依赖和版本管理,避免相同依赖多次声明参数。例如一个 Web 应用可能有多个模块,每个模块都可以从父项目继承相同的配置。

                    3. 依赖版本管理

                    org.springframework
                    spring-webmvc
                    ${spring.version}

                    通过 ${spring.version} 这种变量方式,统一管理依赖的版本,避免在不同的子项目中手动改动。

                    4. 多模块项目

                    如果一个项目包含多个模块(比如前端、后端、rest API),可以通过以下方式配置:

                    my-module1
                    my-module2

                    这样做的好处是每个模块都可以独立运行,且通过父项目统一管理。

                    SSH框架的POM配置

                    在实际工作中,我制作了一个 SSH 框架的 pom.xml。主要包含以下配置项:

                    4.0.0
                    Maven_Demo_02
                    Maven_Demo_02
                    war
                    0.0.1-SNAPSHOT
                    Maven_Demo_02 Maven Webapp
                    http://maven.apache.org
                    UTF-8
                    3.1.4.RELEASE
                    4.1.9.Final
                    org.springframework
                    spring-webmvc
                    ${spring.version}
                    org.apache.struts
                    struts2-core
                    ${struts-version}
                    Maven_Demo_01

                    这个 pom.xml 包含了对多个日志框架、依赖管理、ORM框架等进行了配置,适用于构建一个完整的 Web 应用框架。

                    实际开发中的经验

                    在项目实践中,最深刻的感悟就是 pom.xml 的管理。通过它,我们可以统一管理项目依赖版本,避免了重复配置,同时明确依赖的范围和版本,减少了冲突。比如,通过设置 <scope>provided</scope> 可以限制依赖只在当前项目中使用。

                    此外,mvn cleanmvn compile 这两个命令的重 daily 依赖,清理和编译项目,是开发工作中必须掌握的功夫。还有一点值得注意,就是在集成到 Eclipse 中时,可以通过设置 maven.test.skip 参数来跳过测试环节。

                    总之,Maven 这个工具在处理大型项目时显示出颜色 assignable 的优势,hile 对个体项目的管理按钮也不容小觑。我会继续深入研究 Maven 的高级功能,将更多实用的经验分享给大家。

    转载地址:http://hzwwk.baihongyu.com/

    你可能感兴趣的文章
    mysql workbench6.3.5_MySQL Workbench
    查看>>
    MySQL Workbench安装教程以及菜单汉化
    查看>>
    MySQL Xtrabackup 安装、备份、恢复
    查看>>
    mysql [Err] 1436 - Thread stack overrun: 129464 bytes used of a 286720 byte stack, and 160000 bytes
    查看>>
    MySQL _ MySQL常用操作
    查看>>
    MySQL – 导出数据成csv
    查看>>
    MySQL —— 在CentOS9下安装MySQL
    查看>>
    MySQL —— 视图
    查看>>
    mysql 不区分大小写
    查看>>
    mysql 两列互转
    查看>>
    MySQL 中开启二进制日志(Binlog)
    查看>>
    MySQL 中文问题
    查看>>
    MySQL 中日志的面试题总结
    查看>>
    mysql 中的all,5分钟了解MySQL5.7中union all用法的黑科技
    查看>>
    MySQL 中的外键检查设置:SET FOREIGN_KEY_CHECKS = 1
    查看>>
    Mysql 中的日期时间字符串查询
    查看>>
    mysql 中索引的问题
    查看>>
    MySQL 中锁的面试题总结
    查看>>
    MySQL 中随机抽样:order by rand limit 的替代方案
    查看>>
    MySQL 为什么需要两阶段提交?
    查看>>