栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Maven的pom文件

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Maven的pom文件

本文参考于:https://blog.csdn.net/qq_47759220/article/details/119079757

一、maven项目的目录结构

pom文件定于了一个maven项目的maven配置,一般pom文件的放在项目或者模块的根目录下。

maven的遵循约定大于配置,约定了如下的目录结构:

二、pom文件详解 1、根元素和必要配置

 
    
    4.0.0
    
    
    com.companyname.project-group
 
    
    project
 
    
    1.0
 
    
    jar

  • project:整个pom配置文件的根元素,所有的配置都是写在project元素里面的;
  • modelVersion:指定了当前POM模型的版本,对于Maven2及Maven 3来说,它只能是4.0.0;
  • groupId:组织名,通常为公司域名的倒叙
  • artifactId:这是项目的标识,通常是工程的名称,它在一个项目组(group)下是唯一的。
  • version:这是项目的版本号,用来区分同一个artifact的不同版本。
  • packaging:这是项目产生的构件类型,即项目通过maven打包的输出文件的后缀名,包括jar、war、ear、pom等。
2、父项目和parent元素
    
    
    
 
        
        com.companyname.project-group
        
        base-project
        
        1.0.1-RELEASE
 
        
        
        ../pom.xml
    

parent元素可以指定父pom。用户可以通过增加parent元素来自定义一个父pom,从而继承该pom的配置。parent元素中包含一些子元素,用来定位父项目和父项目的pom文件位置。

3、项目构建需要的信息

和项目构建相关的配置放在 build 标签下

1)路径管理
       
        
        
        
        
        
        
        
                
        
        
2)资源管理
        
        
        
            
            
                
                
                
                
                
                
                
                
                
            
        
        
        
            
            
                
                
                
                
                
            
        
3)插件管理

插件管理相关的元素有两个,包括pluginManagement和plugins。pluginManagement中有子元素plugins,它和project下的直接子元素plugins的区别是,pluginManagement主要是用来声明子项目可以引用的默认插件信息,这些插件如果只写在pluginManagement中是不会被引入的。project下的直接子元素plugins中定义的才是这个项目中真正需要被引入的插件。

        
        
        
        
            
            
                
                
                    
                    
                    
                    
                    
                    
                    
                    
                    
                        
                        
                            
                            
                            
                            
                            
                            
                            
                            
                            
                            
                        
                    
                    
                    
                            ......
                    
                    
                    
                    
                    
                
            
        
        
        
            ......
        
4)构建扩展 5)其他配置

build中还有一些配置,如下:

        
        
        
        
        
        
        
        
        
4、项目依赖相关信息

pom文件中通过dependencyManagement来声明依赖,通过dependencies元素来管理依赖。

	
    
    
        
            
            
                ......
            
        
    
    
    
    
        
            
            
            org.apache.maven
            maven-artifact
            3.8.1
 
            
            
            
            
            jar
            
            
            
 
            
            
            
                
                    spring-core
                    org.springframework
                
            
            
            true
            
            
            
            test
            
            
            
        
    

5、生成文档相关元素

备注:maven可以通过mvn site命令生成项目的相关文档。

    
    project-maven
 
    
    http://123.a.b/nsnxs
 
    
    
    Description of this maven project
6、远程仓库列表

远程仓库列表的配置,包括依赖和扩展的远程仓库配置,以及插件的远程仓库配置。在本地仓库找不到的情况下,maven下载依赖、扩展和插件,就是从这里配置的远程仓库中进行下载。

需要注意的是release和snapshot两者的区别。

  • release是稳定版本,一经发布不再修改,想发布修改后的项目,只能升级项目版本再进行发布
  • snapshot是不稳定的,一个snapshot的版本可以不断改变。项目在开发期间一般会使用snapshot,更方便进行频繁的代码更新
    
    
        
            
                
                
                
                
                
                
                
            
            
            
                
                
                
            
 
            
            nanxs-repository-proxy
            
            nanxs-repository-proxy
            
            http://192.168.1.169:9999/repository/
            
            default
        
    
    
    
    
        
        
            ......
        
    
7、项目部署相关

用于把网站部署到远程服务器或者把构件部署到远程仓库

    
    
        
        
            
            nanxs-maven2
            nanxsmaven2
            file://${basedir}/target/deploy
            
        
        
        
            
            nanxs-maven2
            Nanxs-maven2 Snapshot Repository
            scp://svn.baidu.com/nanxs:/usr/local/maven-snapshot
            
        
        
        
        
            
            nanxs-site
            
            business api website
            
            scp://svn.baidu.com/nanxs:/var/www/localhost/nanxs-web
        
        
        
        
        
        
        
            
            
            
            
            
            
            
            
        
        
        
        
    
8、报表规范 9、profile配置
    
    
        
        
            
            
            
            
            
                
                
                
                
                
                
                    
                    Windows XP
                    
                    Windows
                    
                    x86
                    
                    5.1.2600
                
                
                
                
                    
                    mavenVersion
                    
                    2.0.3
                
                
                
                
                    
                    /usr/local/abcd/abcd-home/jobs/maven-guide-zh-to-production/workspace/
                    
                    
                    /usr/local/abcd/abcd-home/jobs/maven-guide-zh-to-production/workspace/
                    
                
            
 
            
            
            
            
            
            
            
            
            
            
            
            
            
            
 
            
            
            
            
            
            
        
    
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/959098.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号