」工欲善其事,必先利其器。「—孔子《論語.錄靈公》
首頁 > 程式設計 > 掌握 Maven:超越建置管理

掌握 Maven:超越建置管理

發佈於2024-08-05
瀏覽:333

Mastering Maven: Beyond Build Management

Maven 被广泛认为是一个强大的构建自动化工具,但它的作用远不止于此。它是一个全面的项目管理工具,可以简化整个构建过程、依赖关系管理和文档生成。在这篇文章中,我们将探讨 Maven 的各个方面并详细了解其功能。

Maven 的主要特性
1.构建生成
2.依赖管理
3.文档

当您执行 mvn build 或 mvn deploy 等命令时,Maven 会查找包含所有配置的 pom.xml 文件,并采取相应的操作。让我们更深入地了解 pom.xml 结构及其意义。

POM 文件

``` 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">
4.0.0


com.example
my-app
1.0-SNAPSHOT
jar



    1.8
    1.8
    5.2.8.RELEASE




    
    
        org.springframework
        spring-core
        ${spring.version}
    
    
    
        org.springframework
        spring-context
        ${spring.version}
    
    
    
        junit
        junit
        4.12
        test
    




    
        
        
            org.apache.maven.plugins
            maven-compiler-plugin
            3.8.1
            
                ${maven.compiler.source}
                ${maven.compiler.target}
            
        
        
        
            org.apache.maven.plugins
            maven-surefire-plugin
            2.22.2
        
    




    
        central
        https://repo.maven.apache.org/maven2
    




    
        releases
        http://repo.mycompany.com/releases
    
    
        snapshots
        http://repo.mycompany.com/snapshots
    

让我们解码 POM 文件:

**pom.xml 的文件遵循特定的 XML 模式(在 xsi:schemaLocation: 中定义),确保它遵循 Maven 验证的正确结构。这是一个例子:






关键要素:

  • 父 POM:
    Spring Boot 中的每个 POM 文件都有一个父 POM。如果未定义父级,则超级 POM 将成为父级。

  • GroupId、ArtifactId 和版本:
    这些元素唯一标识 Maven Central 中的项目。


com.example
    my-app
    1.0-SNAPSHOT
    jar


  • 特性: 定义可在整个 pom.xml 中引用的键值对。


    1.8


-

  • 存储库: 指定下载依赖项的位置,通常从 Maven Central。


    
        central
        https://repo.maven.apache.org/maven2
    



依赖项:列出项目的依赖项。



    
        org.springframework.boot
        spring-boot-starter-web
        2.3.4.RELEASE
    



  • 构建配置: 定义构建过程和阶段。 为此我们需要了解maven的构建生命周期。

Maven 构建生命周期

Maven 遵循由几个阶段组成的特定构建生命周期:

  1. 证实:
    验证项目结构。

  2. 编译:
    将 Java 代码转换为字节码(.class 文件)并将其放置在 target/ 文件夹中。

  3. 测试:
    运行位于 test/ 目录中的测试用例。

  4. 包裹:
    从编译的字节码生成 JAR/WAR 文件并将它们存储在 target/ 文件夹中。

  5. 核实:
    检查包裹的完整性。

  6. 安装:
    在本地存储库中安装软件包。

  7. 部署:

    将包上传到远程存储库。

自定义构建过程:
Maven 提供了通过元素在每个阶段添加特定目标的灵活性。您还可以创建和使用插件来扩展 Maven 的功能。



    
        
            org.apache.maven.plugins
            maven-compiler-plugin
            3.8.1
            
                1.8
                1.8
            
        
    




*使用maven安装:*[​​&&&] 完成测试、打包和验证后,它会安装我们在编译阶段创建的 jar 文件。
这里它创建了一个 m2 文件夹,其中保存了所有依赖项。我们可以从
下的 settings.xml 更改此文件夹位置

使用 Maven 部署 部署配置在元素内部指定。

内部.repo http://repo.mycompany.com/maven2 存储库> 分销管理>


    
        internal.repo
        http://repo.mycompany.com/maven2
    




提示:我们可以在 .m2/repository 文件夹内的 settings.xml 中提供凭据。

及时了解 Maven 并掌握其细微差别可以显着增强项目管理和构建自动化技能。请记住,Maven 不仅仅是一个构建工具,它还是项目的指挥中心。深入研究、探索新插件并不断尝试。我们与 Maven 的接触越多,我们的开发过程就会变得越强大。不断突破界限,让 Maven 处理剩下的事情 — 毕竟,这就像拥有一把瑞士军刀来满足您的项目管理需求!

非常感谢您的阅读,非常感谢您的宝贵反馈。

如果您遇到任何很酷的插件,请在评论中告诉我。
别忘了点赞、分享和订阅。

版本聲明 本文轉載於:https://dev.to/mini2809/mastering-maven-beyond-build-management-6fd?1如有侵犯,請聯絡[email protected]刪除
最新教學 更多>

免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。

Copyright© 2022 湘ICP备2022001581号-3