动力节点首页 全国咨询热线:400-8080-105

绑定手机号,登录
手机号

验证码

微信登录
手机号登录
手机号

验证码

微信登录与注册
微信扫码登录与注册

扫码关注微信公众号完成登录与注册
手机号登录
首页 > 文章

Maven配置文件解析

07-27 12:52 857浏览
举报 T字号
  • 大字
  • 中字
  • 小字

Maven配置文件

配置文件加载优先级:pom.xml>user setting>global setting

setting.xml配置意义

1.localRepository

2.proxy

3.server

4.mirror

pom.xml

5.profile

pom.xml文件配置

1.配置基本信息

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         2. xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <!-- 指定了当前pom.xml的版本 -->
    <modelVersion>4.0.0</modelVersion>
    <!-- 主项目的标识属于哪个项目   (公司网址+项目名) -->
    <groupId>com.ouyang.maven</groupId>
    <!--模块标识,实际项目的模块(项目名+模块名)-->
    <artifactId>maven-test</artifactId>
    <!--
    第一个0大版本号,第二个0表示分支版本号,第三个0表示小版本号
    SNAPSHOT:快照
    ALPHA:内部测试
    BETA:公测
    RELEASE:稳定
    GA:正式发布
    -->
    <version>0.0.1-SNAPSHOT</version>
    <!-- 默认是jar   war zip pom -->
    <packaging>jar</packaging>
    <!-- 项目的描述名 -->
    <name>maven-test</name>
    <!-- 项目的地址 -->
    <url>http://maven.apache.org</url>
    <!-- 项目描述 -->
    <description></description>
    <!-- 开发人员 -->
    <developers></developers>
    <!-- 许可证 -->
    <licenses></licenses>
    <!-- 组织信息 -->
    <organization></organization> 
    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    </properties> 
    <dependencies>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>3.8.1</version>
            <!--
            依赖范围
            compile:默认的范围,编译测试运行都有效
            provided:在编译测试时有效
            runtime:测试和运行时有效
            test:测试时有效
            system:在编译测试时有效(需要与本地系统做关联)
            import:导入的范围,只做用dependcyManagement中,表示从其他的pom中导入dependecy的配置
            -->
            <scope>test</scope>
            <!-- 依赖是否可选 -->
            <!-- <optional>false</optional> -->
            <!-- 排除依赖传递列表 -->
            <exclusions>
                <!-- <exclusion>
              <groupId></groupId>
              <artifactId></artifactId>
            </exclusion> -->
            </exclusions>
        </dependency>
    </dependencies>
    <!-- 依赖管理(可以提供父依赖)-->
    <dependencyManagement>
        <!-- <dependencies>
           <dependency></dependency>
       </dependencies> -->
    </dependencyManagement> 
    <build>
        <!-- 插件列表 -->
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-source-plugin</artifactId>
                <version>3.0.1</version>
                <executions>
                    <execution>
                        <phase>package</phase>
                        <goals>
                            <goal>jar-no-fork</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>
    <!-- 在子模块中对父模块pom的继承 -->
    <!-- <parent></parent> -->
    <!-- 聚合多个运行的maven项-->
    <!-- <modules></modules> --> 
</project>

2.配置仓库信息

<repositories>  
        <repository>  
            <id>nexus</id>  
            <name>nexus</name>
            <url>http://192.168.x.x:8081/nexus/content/groups/public/</url>  
            <releases>  
                <enabled>true</enabled>  
            </releases>  
            <snapshots>  
                <enabled>true</enabled>  
            </snapshots>  
        </repository>  
    </repositories> 

3.设定插件仓库

<pluginRepositories>  
        <pluginRepository>  
            <id>nexus</id>  
            <name>nexus</name>  
            <url>http://192.168.x.x:8081/nexus/content/groups/public/</url>  
            <releases>  
                <enabled>true</enabled>  
            </releases>  
            <snapshots>  
                <enabled>true</enabled>  
            </snapshots>  
        </pluginRepository>  
    </pluginRepositories>

私服仓库类型说明

1.hosted 类型的仓库,内部项目的发布仓库。Hosted代表宿主仓库,用来发布一些第三方不允许的组件,比如oracle驱动、比如商业软件jar包、公司开发的jar包库。

2.Proxy代表代理远程的仓库,最典型的就是Maven官方中央仓库、JBoss仓库等等。如果构建的Maven项目的用户电脑本地仓库没有依赖包,那么就会去Proxy代理站点(即Nexus私服)去下载,那么如果代理站点也没有此依赖包,就会去远程中央仓库下载依赖。代理站点(私服)下载成功后再下载至用户本机仓库。

3.releases 内部的模块中release模块的发布仓库

4.snapshots 发布内部的SNAPSHOT模块的仓库

5.3rd party 第三方依赖的仓库,这个数据通常是由内部人员自行下载之后发布上去

6.group 类型的仓库,组仓库用来为了方便我们开发人员而进行设置的仓库

动力节点在线课程涵盖零基础入门,高级进阶,在职提升三大主力内容,覆盖Java从入门到就业提升的全体系学习内容。全部Java视频教程免费观看,相关学习资料免费下载!对于火爆技术,每周一定时更新!如果想了解更多相关技术,可以到动力节点在线免费观看Maven学习视频哦!

0人推荐
共同学习,写下你的评论
0条评论
代码小兵872
程序员代码小兵872

30篇文章贡献98658字

相关课程 更多>

作者相关文章更多>

推荐相关文章更多>

Git合并分支

代码小兵34507-28 11:08

Maven库的介绍

代码小兵65207-27 11:42

Maven打包详解

代码小兵12407-27 11:31

自定义Maven插件

代码小兵34507-27 11:50

导入Maven报错的解决方法

代码小兵69607-27 12:00

发评论

举报

0/150

取消