ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

MAVEN的使用详解

2021-05-17 15:02:08  阅读:145  来源: 互联网

标签:compile 配置文件 项目 MAVEN 详解 使用 apache org maven


文章目录

相关配置

setting配置文件

<?xml version="1.0" encoding="UTF-8"?>
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
	<!--本地仓库配置-->
  <localRepository>D:/dev/repository</localRepository>
  <!--阿里镜像配置-->
  <mirrors>
    <mirror>
      <id>nexus-aliyun</id>
      <mirrorOf>central</mirrorOf>
      <name>nexus-aliyun</name>
      <url>http://maven.aliyun.com/nexus/content/groups/public</url>
    </mirror>
  </mirrors>
</settings>

pom.xml配置文件

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         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">
    <parent>
        <artifactId>qietv</artifactId>
        <groupId>tv.huan</groupId>
        <version>4.0.0</version>
    </parent>
    <modelVersion>4.0.0</modelVersion>
    <packaging>war</packaging>
    <artifactId>huan-admin</artifactId>
    <description>
        web服务入口
    </description>
    <dependencies>
        <!-- spring-boot-devtools -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-devtools</artifactId>
            <optional>true</optional> <!-- 表示依赖不会传递 -->
            <exclusions>
                <exclusion>
                    <!--排除(不导入)包中的jar不导入的配置-->
                    <groupId></groupId>
                    <artifactId></artifactId>
                </exclusion>
            </exclusions>
        </dependency>
    </dependencies>
    
    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <configuration>
                    <fork>true</fork> <!-- 如果没有该配置,devtools不会生效 -->
                </configuration>
                <executions>
                    <execution>
                        <goals>
                            <goal>repackage</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-war-plugin</artifactId>
                <version>3.0.0</version>
                <configuration>
                    <failOnMissingWebXml>false</failOnMissingWebXml>
                    <warName>mediaSystem</warName>
                </configuration>
            </plugin>
        </plugins>
        <finalName>mediaSystem</finalName>
    </build>
</project>

Maven坐标

  • groupId :the unique identifier of the organization or group that created the project
    GroupID 是项目组织唯一的标识符,一般是main目录里java的目录结构,没有硬性要求一定要和JAVA的包的结构一致
  • artifactId :unique base name of the primary artifact being generated by this project
    ArtifactID是项目的唯一的标识符,规范要求对应项目的名称,就是项目根目录的名称。

命名规则

  • GroupId一般分为多个段,第一段为域,第二段为公司名称。域又分为org、com、cn等等许多,其中org为非营利组织,com为商业组织。举个apache公司的tomcat项目例子:这个项目的GroupId是org.apache,它的域是org(因为tomcat是非营利项目),公司名称是apache,ArtifactId是tomcat。再比如我自己建项目,可以写com.leon.
  • ArtifactId 是项目名称,比如:apache的tomcat项目,再比如我自己的项目testProj。

Scope的值及意义

testcompileruntimeprovidedsystemimport。其中import主要是在dependencyManagement中使用,平常用的不多,所以主要看其它五种;

  • test:仅测试的时候使用,打包编译的使用,不会使用改包。
  • compile:一般默认是compile,编译的时候使用,整个项目周期都会用。打包的时候会将其打包。
  • runtime:相比compile,只是不参与编译阶段。
  • provided:编译和运行都有参与,但是不参与打包,一般servlet的包都是这个值。
  • system: 使用较少,需配合systemPath使用,和provided唯一的区别是从本地获取依赖。

标签:compile,配置文件,项目,MAVEN,详解,使用,apache,org,maven
来源: https://blog.csdn.net/weixin_43790613/article/details/116931612

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有