• maven杂碎汇总


        本来是想写一篇关于maven知识点的详细总结的,但需要看一本书或教材,然后再汇总一下,这样做自然是好的,这个在年前争取做完。本文是主要记录在工作和学习遇到关于maven的一些困惑。很乐意看到它也能解决网友的问题。

    1.scope属性的作用
    (目前项目中使用到这个)
    <scope>标签出现在pom.xml文件中,如下
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-tomcat</artifactId>
                <version>${spring-boot.version}</version>
                <scope>provided</scope>
            </dependency>
    
    1.首先这个配置在springboot web项目中,这个scope的目的是不希望打包的过程中把tomcat打包进去,只在本地启动的时候项目时需要用到这个依赖;
    2.期望JDK、容器或使用者会提供这个依赖。如servlet.jar;
    
    其他网友总结的(不是很明白其他几种具体什么时候用):
        * compile,缺省值,适用于所有阶段,会随着项目一起发布。 
        * provided,类似compile,期望JDK、容器或使用者会提供这个依赖。如servlet.jar。 
        * runtime,只在运行时使用,如JDBC驱动,适用运行和测试阶段。 
        * test,只在测试时使用,用于编译和运行测试代码。不会随项目发布。 
        * system,类似provided,需要显式提供包含依赖的jar,Maven不会在Repository中查找它。
    
    2.插件
    1.maven-antrun-plugin(菜鸟测试中,经常使用这个东西)
        <1>简单的说这个Ant插件就是为了方便把之前在Ant集成的任务迁移到Maven中去、
        <2>在Maven中的<target>中可以很方便的使用Ant的标签。
        <3>通过<phase>可以很方便的指定Maven的生命周期。并且指定生命周期之后,可以在生命周期运行时直接触发<target>中的任务。
    参考:https://www.cnblogs.com/EasonJim/p/6819338.html
    
    
    
    3.settings.xml文件中标签介绍
    (实际项目中遇到)
    1.<servers>
        作用:一般,仓库的下载和部署是在pom.xml文件中的repositories和distributionManagement元素中定义的。然而,一般类似用户名、密码(有些仓库访问是需要安全认证的)等信息不应该在pom.xml文件中配置,这些信息可以配置在settings.xml中。
        参考:https://www.cnblogs.com/kevinlogs/p/9130979.html
    
    2.<mirrors>
        作用:为仓库列表配置的下载镜像列表。
    <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
                          https://maven.apache.org/xsd/settings-1.0.0.xsd">
      ...
      <mirrors>
        <!-- 给定仓库的下载镜像。 -->
        <mirror>
          <!-- 该镜像的唯一标识符。id用来区分不同的mirror元素。 -->
          <id>planetmirror.com</id>
          <!-- 镜像名称 -->
          <name>PlanetMirror Australia</name>
          <!-- 该镜像的URL。构建系统会优先考虑使用该URL,而非使用默认的服务器URL。 -->
          <url>http://downloads.planetmirror.com/pub/maven2</url>
          <!-- 被镜像的服务器的id。例如,如果我们要设置了一个Maven中央仓库(http://repo.maven.apache.org/maven2/)的镜像,就需要将该元素设置成central。这必须和中央仓库的id central完全一致。 -->
          <mirrorOf>central</mirrorOf>
        </mirror>
      </mirrors>
      ...
    </settings>
    
    3.<profiles>
        作用:根据环境参数来调整构建配置的列表。
    settings.xml中的profile元素是pom.xml中profile元素的裁剪版本。
    它包含了id、activation、repositories、pluginRepositories和 properties元素。这里的profile元素只包含这五个子元素是因为这里只关心构建系统这个整体(这正是settings.xml文件的角色定位),而非单独的项目对象模型设置。如果一个settings.xml中的profile被激活,它的值会覆盖任何其它定义在pom.xml中带有相同id的profile。
    
    <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
                          https://maven.apache.org/xsd/settings-1.0.0.xsd">
      ...
      <profiles>
        <profile>
          <!-- profile的唯一标识 -->
          <id>test</id>
          <!-- 自动触发profile的条件逻辑 -->
          <activation />
          <!-- 扩展属性列表 -->
          <properties />
          <!-- 远程仓库列表 -->
          <repositories />
          <!-- 插件仓库列表 -->
          <pluginRepositories />
        </profile>
      </profiles>
      ...
    </settings>
    
  • 相关阅读:
    关于 Python 对象拷贝的那点事?
    痞子衡嵌入式:嵌入式从业者应知应会知识点
    痞子衡嵌入式:高性能MCU之人工智能物联网应用开发那些事
    痞子衡嵌入式:恩智浦i.MX RTxxx系列MCU特性那些事(2)- RT685SFVK性能实测(Dhrystone)
    痞子衡嵌入式:微处理器CPU性能测试基准(Dhrystone)
    痞子衡嵌入式:如果你正在量产i.MX RT产品,不妨试试这款神器RT-Flash
    痞子衡嵌入式:飞思卡尔i.MX RT系列MCU量产神器RT-Flash常见问题
    痞子衡嵌入式:飞思卡尔i.MX RT系列MCU量产神器RT-Flash用户指南
    痞子衡嵌入式:如果i.MX RT是一匹悍马,征服它时别忘了用马镫MCUBootUtility
    痞子衡嵌入式:超级好用的可视化PyQt GUI构建工具(Qt Designer)
  • 原文地址:https://www.cnblogs.com/leeethan/p/12176296.html
Copyright © 2020-2023  润新知