settings.xml详解(很详细读这一篇就够了)

2023-10-28

目录

一、settings.xml在哪里配置,有什么用?

二、settings.xml元素详解

2.1 LocalRepository

2.2 InteractiveMode

2.3 UsePluginRegistry

2.4 Offline

2.5 PluginGroups

2.6 Servers

2.7 Mirrors

2.8 Proxies

2.9 Profiles

2.10 Activation

2.11 properties

2.12 Repositories

2.13 pluginRepositories

2.14 ActiveProfiles


一、settings.xml在哪里配置,有什么用?

settings.xml文件存在于两个位置

其中一个目录是Maven安装目录下(全局配置):${maven.home}/conf/setting.xml(可以用 mvn -v 命令查看安装的目录位置)

另一个目录是用户目录下(用户级配置):${user.home}/.m2/settings.xml(本查  ~/.m2/settings.xml)

作用:设置Maven参数的配置文件

配置优先级从高到低:项目pom.xml > user settings > global settings

二、settings.xml元素详解

<?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>/Users/***/***/repos</localRepository>
    <interactiveMode>true</interactiveMode>
    <usePluginRegistry>false</usePluginRegistry>
    <offline>false</offline>
  
    <pluginGroups>
      <pluginGroup>org.mortbay.jetty</pluginGroup>
    </pluginGroups>
    <servers>
        <server>
            <id>nexus_server_id</id>
            <username>my_login</username>
            <password>my_password</password>
            <privateKey>${user.home}/.ssh/id_dsa</privateKey>
            <passphrase>some_passphrase</passphrase>
            <filePermissions>664</filePermissions>
            <directoryPermissions>775</directoryPermissions>
            <configuration></configuration>
        </server>
    </servers>
    <mirrors>
        <mirror>
            <id>nexus-aliyun</id>
            <name>Nexus aliyun</name>
            <url>https://maven.aliyun.com/repository/public</url>
            <mirrorOf>*</mirrorOf>
        </mirror>
    </mirrors>
        <proxies>
          <proxy>
             <id>myproxy</id>
             <active>true</active>
             <protocol>http</protocol>
             <host>proxy.somewhere.com</host>
             <port>8080</port>
             <username>proxyuser</username>
             <password>somepassword</password>
             <nonProxyHosts>*.google.com|ibiblio.org</nonProxyHosts>
         </proxy>
        </proxies>
    <profiles>
        <profile>
            <id>dev</id>
            <activation>
              <activeByDefault>false</activeByDefault>
              <jdk>1.5</jdk>
              <os>
                <name>Windows XP</name>
                <family>Windows</family>
                <arch>x86</arch>
                <version>5.1.2600</version>
              </os>
              <property>
                <name>mavenVersion</name>
                <value>2.0.3</value>
              </property>
              <file>
                <exists>${basedir}/file2.properties</exists>
                <missing>${basedir}/file1.properties</missing>
              </file>
            </activation>
            <repositories>
                <repository>
                    <id>ccl-nexus</id>
                    <url>http://*.*.*.*:8081/nexus/content/groups/public</url>
                    <releases>
                        <enabled>true</enabled>
                        <updatePolicy>always</updatePolicy>
                        <checksumPolicy>warn</checksumPolicy>
                    </releases>
                    <snapshots>
                        <enabled>true</enabled>
                        <updatePolicy>never</updatePolicy>
                        <checksumPolicy>fail</checksumPolicy>
                    </snapshots>
                </repository>
            </repositories>
            <pluginRepositories>
                <pluginRepository>
                    <id>ccl-nexus</id>
                    <url>http://*.*.*.*:8081/nexus/content/groups/public</url>
                    <releases>
                        <enabled>true</enabled>
                    </releases>
                    <snapshots>
                        <enabled>true</enabled>
                    </snapshots>
                </pluginRepository>
            </pluginRepositories>
        </profile>
        <profile>
            <id>test</id>
            <activation>
                <activeByDefault>true</activeByDefault>
            </activation>
            <properties>
              <test.jdbc.url>
                jdbc:mysql://127.0.0.1:3306/test?useUnicode=true&characterEncoding=utf8
              </test.jdbc.url>
              <sonar.jdbc.driverClassName>com.mysql.jdbc.Driver</test.jdbc.driverClassName>
              <test.jdbc.username>root</test.jdbc.username>
              <test.jdbc.password></test.jdbc.password>
              <test.host.url>http://*.*.*.*:80</test.host.url>
            </properties>
        </profile>     
    </profiles>
    <activeProfiles>
        <activeProfile>dev</activeProfile>
    </activeProfiles>
   
</settings>

2.1 LocalRepository

构建系统本地仓库的路径。其默认值为~/.m2/repository

<!-- 默认值是${user.home}/.m2/repository -->
<localRepository>E:/project/localRepository</localRepository>

2.2 InteractiveMode

Maven是否需要和用户交互以获得输入。如果Maven需要和用户交互以获得输入,则设置成true,反之则应为false。默认为true。

如果为false,命令如下 mvn archetype:generate -DgroupId=com.zworks -DartifactId=maven-setting -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false

需要指定groupId、artifactId、archetypeArtifactId,如果不指定会报错,因为这些是无法推测出值的。

如果为true,命令如下 mvn archetype:generate

后面会让你选择或输入archetype、groupId、artifactId、version、package、为false的时候之所以不用指定version和package是因为这两个都有默认值。

<interactiveMode>true</interactiveMode>

2.3 UsePluginRegistry

Maven是否需要使用plugin-registry.xml文件来管理插件版本。如果需要让Maven使用文件~/.m2/plugin-registry.xml来管理插件版本,则设为true。默认为false。

 <!-- 如果Maven使用${user.home}/.m2/plugin-registry.xml来管理plugin的版本,就设置为true,默认为false -->
<usePluginRegistry>false</usePluginRegistry>

2.4 Offline

表示Maven是否需要在离线模式下运行。如果构建系统需要在离线模式下运行,则为true,默认为false。当由于网络设置原因或者安全因素,构建服务器不能连接远程仓库的时候,该配置就十分有用。

<!-- 如果构建系统要在离线模式下工作,设置为true,默认为false。如果构建服务器因为网络故障或者安全问题不能与远程仓库相连,那么这个设置是非常有用的。 -->
<offline>false</offline>

2.5 PluginGroups

当插件的组织Id(groupId)没有显式提供时,供搜寻插件组织Id(groupId)的列表。该元素包含一个pluginGroup元素列表,每个子元素包含了一个组织Id(groupId)。当我们使用某个插件,并且没有在命令行为其提供组织Id(groupId)的时候,Maven就会使用该列表。默认情况下该列表包含了org.apache.maven.plugins和org.codehaus.mojo

<!--插件组
    在pluginGroups元素下面可以定义一系列的pluginGroup元素。表示当通过plugin的前缀来解析plugin的时候到哪里寻找。
    pluginGroup元素指定的是plugin的groupId。默认情况下,Maven会自动把org.apache.maven.plugins和org.codehaus.mojo添加到pluginGroups下。-->
    <pluginGroups>
      <pluginGroup>org.mortbay.jetty</pluginGroup>
    </pluginGroups>
    <!--例如,有了上面的配置,Maven命令行可以使用简单的命令执行org.morbay.jetty:jetty-maven-plugin:run,如下:
    mvn jetty run
    -->

2.6 Servers

用来下载和部署的仓库是用POM中的repositories和distributionManagement元素来定义的。 但是某些配置例如username和password就不应该随着pom.xml来分配了。这种类型的信息应该保存在构建服务器中的settings.xml中。

<!--服务器
用来下载和部署的仓库是用POM中的repositories和distributionManagement元素来定义的。
但是某些配置例如username和password就不应该随着pom.xml来分配了。这种类型的信息应该保存在构建服务器中的settings.xml中。
-->
<servers>
    <server>
    <!-- 这是Server的ID(不是登录进来的user),与Maven想要连接上的repository/mirror中的id元素相匹配。 -->
        <id>nexus_server_id</id>
        <username>my_login</username>
        <password>my_password</password>
    <!-- 与前两个元素一样,这两个成对出现,分别指向了一个私钥(默认的${user.home}/.ssh/id_dsa)和一个passphrase。即分别表示私钥位置和私钥密码 -->
        <privateKey>${user.home}/.ssh/id_dsa</privateKey>
        <passphrase>some_passphrase</passphrase>
    <!-- 文件和目录被创建时的权限。后续需要用此权限来访问。
            这两个元素合法的值是一个三位数字,其对应了unix文件系统的权限,如664,或者775。 -->
        <filePermissions>664</filePermissions>
        <directoryPermissions>775</directoryPermissions>
    <!-- 传输层额外的配置项 -->
        <configuration></configuration>
    </server>
</servers>

2.7 Mirrors

为仓库列表配置的下载镜像列表

<mirrors>
    <mirror>
        <!-- 镜像标识id -->
        <id>nexus-aliyun</id>
        <name>Nexus aliyun</name>
        <url>https://maven.aliyun.com/repository/public</url>
        <!-- 指向此镜像的仓库Id,任何对于远程仓库的请求都会被转至此url。
                    多个逗号隔开,或者*号统配,或者!排除某个之外的所有仓库
        external:*匹配除使用 localhost 或基于文件的存储库之外的所有存储库。当您想要排除为集成测试定义的重定向存储库时使用。
        自 Maven 3.8.0 起,external:http:*匹配所有使用 HTTP 的存储库,但使用 localhost 的存储库除外。
        * = 一切
        external:* = 一切不在本地主机上,也不基于文件。
        repo,repo1 = repo或repo1
        *,!repo1 = 除了 repo1 之外的所有东西
            注意不要在逗号分隔列表中的标识符或通配符周围包含额外的空格。
            例如,<mirrorOf设置为 >的镜像!repo1, *不会镜像任何内容,而!repo1,*会镜像除repo1
            注意多个mirrorOf内容相同并不会都生效,每个仓库只能有一个镜像,Maven 不会聚合镜像,而只是选择第一个匹配项
            -->
        <mirrorOf>*</mirrorOf>
    </mirror>
</mirrors>

2.8 Proxies

代理设置,主要用于无法直接访问中心的库用户配置。用来配置不同的代理,多代理profiles 可以应对笔记本或移动设备的工作环境:通过简单的设置profile id就可以很容易的更换整个代理配置。

<proxies>
  <proxy>
     <id>myproxy</id>
     <active>true</active>
     <protocol>http</protocol>
     <host>proxy.somewhere.com</host>
     <port>8080</port>
     <!-- 两个元素成对出现,提供连接proxy服务器时的认证 -->
     <username>proxyuser</username>
     <password>somepassword</password>
     <!--不该被代理的主机名列表。该列表的分隔符由代理服务器指定;例子中使用了竖线分隔符,使用逗号分隔也很常见。-->
     <nonProxyHosts>*.google.com|ibiblio.org</nonProxyHosts>
 </proxy>
</proxies>

2.9 Profiles

settings.xml中的profile是pom.xml中的profile的简洁形式。 它包含了激活(activation),仓库(repositories),插件仓库(pluginRepositories)和属性(properties)元素。 profile元素仅包含这四个元素是因为他们涉及到整个的构建系统,而不是个别的POM配置。 如果settings中的profile被激活,那么它的值将重载POM或者profiles.xml中的任何相等ID的profiles。

<!--配置文件
    settings.xml中的profile是pom.xml中的profile的简洁形式。
    它包含了激活(activation),仓库(repositories),插件仓库(pluginRepositories)和属性(properties)元素。
    profile元素仅包含这四个元素是因为他们涉及到整个的构建系统,而不是个别的POM配置。
    如果settings中的profile被激活,那么它的值将重载POM或者profiles.xml中的任何相等ID的profiles。
    -->
<profiles>
    <profile>
        <id>dev</id>
        <!--自动触发profile的条件逻辑。Activation是profile的开启钥匙。
            如POM中的profile一样,profile的力量来自于它能够在某些特定的环境中自动使用某些特定的值;
            这些环境通过activation元素指定。activation元素并不是激活profile的唯一方式。
            settings.xml文件中的activeProfile元素可以设置需要激活profile的id。
            profile也可以通过在命令行,使用-P标记和逗号分隔的列表来显式的激活(如,-P test)。-->
          <activation>
          <!-- 默认激活的标识 -->
          <activeByDefault>false</activeByDefault>
          <!--当匹配的jdk被检测到,profile被激活。例如,1.4激活JDK1.4,1.4.0_2,而!1.4激活所有版本不是以1.4开头的JDK。-->
          <jdk>1.5</jdk>
          <!--当匹配的操作系统属性被检测到,profile被激活。os元素可以定义一些操作系统相关的属性。-->
          <os>
            <!--激活profile的操作系统的名字 -->
            <name>Windows XP</name>
            <!--激活profile的操作系统所属家族(如 'windows')  -->
            <family>Windows</family>
            <!--激活profile的操作系统体系结构  -->
            <arch>x86</arch>
            <!--激活profile的操作系统版本-->
            <version>5.1.2600</version>
          </os>
          <!--如果Maven检测到某一个属性(其值可以在POM中通过${name}引用),其满足对应的name = 值,Profile就会被激活。
                        如果值字段是空的,那么存在属性名称字段就会激活profile,否则按区分大小写方式匹配属性值字段-->
          <property>
            <name>mavenVersion</name>
            <value>2.0.3</value>
          </property>
          <!--提供一个文件名,通过检测该文件的存在或不存在来激活profile。missing检查文件是否存在,如果不存在则激活profile。
                        另一方面,exists则会检查文件是否存在,如果存在则激活profile。-->
          <file>
            <!--如果指定的文件存在,则激活profile。 -->
            <exists>${basedir}/file2.properties</exists>
            <!--如果指定的文件不存在,则激活profile。-->
            <missing>${basedir}/file1.properties</missing>
          </file>
        </activation>
        <!--如果以上所有指定的条件都达到了,那么,activation就被触发,而且不需要一次性全部达到。-->
        <!--仓库(repositories)
        仓库是Maven用来构筑构建系统的本地仓库的远程项目集合。它来自于被Maven叫做插件和依赖的本地仓库。
                    不同的远程仓库包含不同的项目,当profile被激活,他们就会需找匹配的release或者snapshot构件。 -->
        
        <!--插件仓库(plugin repositories)
        仓库包含了两种重要类型的构件:第一种是用来做其他构件依赖的构件,这是在中央仓库中的大多数插件。另外一种类型的构件就是插件。
                    Maven的插件本身就是一种特殊的构件。因此,插件仓库被从其他仓库中分离出来。
                    pluginRepositories元素模块的结构与repositories模块很相似。pluginRepository元素指向一个可以找到新插件的远程地址。
        -->
    </profile>
</profiles>

2.10 Activation

自动触发profile的条件逻辑。Activation是profile的开启钥匙。如POM中的profile一样,profile的力量来自于它能够在某些特定的环境中自动使用某些特定的值;这些环境通过activation元素指定。activation元素并不是激活profile的唯一方式。settings.xml文件中的activeProfile元素可以包含profile的id。profile也可以通过在命令行,使用-P标记和逗号分隔的列表来显式的激活(如,-P test)

<activeProfiles>
    <activeProfile>dev</activeProfile>
</activeProfiles>

2.11 properties

Maven的属性是值占位符,就像Ant中的属性。如果X是一个属性的话,那么它的值在POM中可以使用${X}来进行任意地方的访问。他们来自于五种不同的风格,所有都可以从settings.xml文件中访问到。

  • env.X:使用“env.”前缀将会返回当前的环境变量。例如${env.PATH}就是使用了$path环境变量。
  • project.X:一个点“.”分割的路径,在POM中就是相关的元素的值。例如:<project><version>1.0</version></project>就可以通过${project.version}来访问。
  • settings.X:一个点“.”分割的路径,在settings.xml中就是相对应的元素的值,例如:<settings><offline>false</offline></settings>就可以通过${settings.offline}来访问。
  • Java系统属性:所有通过java.lang.System.getProperties()来访问的属性都可以像POM中的属性一样访问,例如:${java.home}
  • X:被<properties/>或者外部文件定义的属性,值可以这样访问${someVar}
<properties>
  <test.jdbc.url>
    jdbc:mysql://127.0.0.1:3306/test?useUnicode=true&characterEncoding=utf8
  </test.jdbc.url>
  <test.jdbc.driverClassName>com.mysql.jdbc.Driver</test.jdbc.driverClassName>
  <test.jdbc.username>root</test.jdbc.username>
  <test.jdbc.password></test.jdbc.password>
  <test.host.url>http://172.16.11.43:80</test.host.url>
</properties>

2.12 Repositories

远程仓库列表,它是Maven用来填充构建系统本地仓库所使用的一组远程项目。

<repositories>
    <repository>
        <id>ccl-nexus</id>
        <url>http://172.16.10.99:8081/nexus/content/groups/public</url>
        <!--如何处理远程仓库里发布版本的下载-->
        <releases>
            <!--true或者false表示该仓库是否为下载某种类型构件(发布版,快照版)开启。  -->
            <enabled>true</enabled>
            <!--该元素指定更新发生的频率。Maven会比较本地POM和远程POM的时间戳。
                选项是:always(一直),
                daily(默认,每日),
                interval:X(这里X是以分钟为单位的时间间隔),
                never(从不)。 -->
            <updatePolicy>always</updatePolicy>
            <!--当Maven验证构件校验文件失败时该怎么做-ignore(忽略),fail(失败),或者warn(警告)。-->
            <checksumPolicy>warn</checksumPolicy>
        </releases>
        <!--如何处理远程仓库里快照版本的下载。有了releases和snapshots这两组配置,
            POM就可以在每个单独的仓库中,为每种类型的构件采取不同的策略。
            例如,可能有人会决定只为开发目的开启对快照版本下载的支持。参见repositories/repository/releases元素-->
        <snapshots>
            <enabled>true</enabled>
            <updatePolicy>never</updatePolicy>
            <checksumPolicy>fail</checksumPolicy>
        </snapshots>
    </repository>
</repositories>

2.13 pluginRepositories

发现插件的远程仓库列表。仓库是两种主要构件的家。第一种构件被用作其它构件的依赖。这是中央仓库中存储的大部分构件类型。另外一种构件类型是插件。Maven插件是一种特殊类型的构件。由于这个原因,插件仓库独立于其它仓库。pluginRepositories元素的结构和repositories元素的结构类似。每个pluginRepository元素指定一个Maven可以用来寻找新插件的远程地址。

<!--插件仓库(plugin repositories)
仓库包含了两种重要类型的构件:第一种是用来做其他构件依赖的构件,这是在中央仓库中的大多数插件。另外一种类型的构件就是插件。
            Maven的插件本身就是一种特殊的构件。因此,插件仓库被从其他仓库中分离出来。
            pluginRepositories元素模块的结构与repositories模块很相似。pluginRepository元素指向一个可以找到新插件的远程地址。
-->
<pluginRepositories>
    <pluginRepository>
        <id>ccl-nexus</id>
        <url>http://127.0.0.1:8081/nexus/content/groups/public</url>
        <releases>
            <enabled>true</enabled>
        </releases>
        <snapshots>
            <enabled>true</enabled>
        </snapshots>
    </pluginRepository>
</pluginRepositories>

2.14 ActiveProfiles

手动激活profiles的列表,按照profile被应用的顺序定义activeProfile。 该元素包含了一组activeProfile元素,每个activeProfile都含有一个profile id。任何在activeProfile中定义的profile id,不论环境设置如何,其对应的 profile都会被激活。如果没有匹配的profile,则什么都不会发生。例如,env-test是一个activeProfile,则在pom.xml(或者profile.xml)中对应id的profile会被激活。如果运行过程中找不到这样一个profile,Maven则会像往常一样运行。

<!--激活配置(Active Profiles)-->
<activeProfiles>
  <activeProfile>dev</activeProfile>
</activeProfiles>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

settings.xml详解(很详细读这一篇就够了) 的相关文章

随机推荐

  • Spring Cloud 2.x之整合工作流Activiti

    工作流在项目中非常常用 这里先来看两张图 第一张 第二张 对以上两张图进行说明 假设这两张图就是华谊兄弟的请假流程图 图的组成部分 人物 范冰冰 冯小刚 王中军 事件 动作 请假 批准 不批准 工作流 Workflow 就是 业务过程的部分
  • LLVM 环境搭建

    LLVM相关 环境搭建 PC VMware Workstation 下载 https www vmware com go getworkstation win KEY ZC3WK AFXEK 488JP A7MQX XL8YF 可自行网上查
  • Vue中使用qrcode实现渲染生成二维码中间添加自定义logo-demo

    效果 安装 npm i qrcode 使用 import QRCode from qrcode 具体生成过程
  • Mac OS X下Maven的安装与配置

    Mac OS X 安装Maven 下载 Maven 并解压到某个目录 例如 Users robbie apache maven 3 3 3 打开Terminal 输入以下命令 设置Maven classpath vi bash profil
  • 小程序打开速度慢是服务器原因吗,网页打开速度慢的原因以及解决方法

    现在大多数企业都会选择做自己的官方网站 网站的作用更像一张互联网上的企业名片 客户能否选择你 在于网站的质量 网站质量的好与坏 主要取决于网站的流量 而影响网站流量最核心的因素就是网站打开速度 那么今天就来给大家分享一下 网页打开速度慢的原
  • CTFHUB-布尔盲注

    布尔盲注 页面回显的结果只有两种 true 和 false true false 常用函数 count x 返回统计的数量 length str 返回str字符串的长度 ascii str 返回字符串str的最左面字符的ASCII代码值 s
  • vue3-实战-06-管理后台-品牌管理模块开发

    目录 1 品牌列表 1 1 需求图 1 2 定义接口和数据类型 1 3 请求接口和渲染数据 2 新增和修改品牌 2 1 需求原型分析 2 2 dialog开发 2 3 请求接口封装 2 4 图片上传组件开发 2 5 新增 修改品牌信息 3
  • pb中计算两个时间的分钟_利用Power BI中的两个函数,灵活计算各种占比!

    计算个体占总体的比例是一个很常见的分析方式 它很简单 就是两个数字相除 但是当需要计算的维度 总体的范围发生动态变化时 如何灵活且快速的计算出各种占比 还是需要动一点心思的 本文就通过 DAX 中的 ALL 和 ALLSELECTED 函数
  • Qt中的信号和信号槽(一)

    目录 1 信号和槽概述 信号和槽的关系 2 标准信号槽使用 标准信号 槽 示例 3 自定义信号槽使用 自定义信号 自定义槽 示例 1 信号和槽概述 信号和槽是一种事件驱动的通信机制 广泛应用于Qt框架的事件处理 GUI编程 网络通信等方面
  • pytorch计算模型参数量报错:size mismatch for module.conv1.weight: copying a param with shape torch.Size([16, 3

    错误 RuntimeError Error s in loading state dict for DataParallel size mismatch for module conv1 weight copying a param wit
  • FIO使用说明(最详细最全的参数说明)

    这个文档是对fio 2 0 9 HOWTO文档的翻译 fio的参数太多了 翻译这个文档时并没有测试每一个参数的功能和使用方法 只有少量参数做了试验 大部分的参数采用的是根据字面翻译或是个人理解的翻译 必然有些出入 先发出来 以后有使用的时候
  • 迁移学习花式Finetune方法大汇总

    如果觉得我的算法分享对你有帮助 欢迎关注我的微信公众号 圆圆的算法笔记 更多算法笔记和世间万物的学习记录 迁移学习广泛地应用于NLP CV等各种领域 通过在源域数据上学习知识 再迁移到下游其他目标任务上 提升目标任务上的效果 其中 Pret
  • JS之arguments、arguments.callee、caller介绍

    arguments 调用函数时产生的 保存实参 arguments callee 被调用时指向函数自身 caller 指向调用某函数的那个函数 下面通过一段代码说明它们的用处 function A n console log argumen
  • 线程同步之Volatile

    编译器优化 c 编译器会在不改变我们的意图的情况下做一些优化 比如 a 1 a 2 编译器编译之后 可能就只剩下第二行了 再比如 a 1 b a 编译器优化后 可能会把第二行优化成b 1 再比如 a m b n 编译器生成IL时 有可能会改
  • APP安全(一)-防二次打包(C、C++签名校验)

    前言 由于Android系统的开放性 开发出来的APP很容易被逆向 修改代码逻 加入广告 病毒等二次打包后发布 对开发者和用户造成一定的损失 因此我们的APP运行过程中需要进行签名校验 以及使用加解密算法对数据进行处理 从而保证访问服务端的
  • 开源自动化测试框架httprunner4.x的学习-2

    使用教程 接口自动化 1 如何安装 以我正在使用的v4 3 0为例 pip install httprunner 4 3 0 安装完成后检查一下 hrp v 看到如下版本信息就说明安装成功 2 创建脚手架 执行命令hrp startproj
  • windows密码获取凭证

    目录 一 Windows HASH hash windows HASH简介 二 Windows认证基础 Windows本地认证 LM HASH LM HASH简介 LM HASH生成原理 Mysql数据库密码破解 1 MYSQL数据库文件类
  • mysql程序连接驱动_Mysql驱动及其连接

    import java sql public class DB public static Connection getConn Connection conn null try Class forName com mysql jdbc D
  • 求旋转后的坐标

    坐标点target 中心点center 角度angle 旋转后坐标 function getRotatePoint targetX targetY centerX centerY angle const rotation angle Mat
  • settings.xml详解(很详细读这一篇就够了)

    目录 一 settings xml在哪里配置 有什么用 二 settings xml元素详解 2 1 LocalRepository 2 2 InteractiveMode 2 3 UsePluginRegistry 2 4 Offline