Maven高级
目录
一、分模块开发与设计
1. 分模块开发的意义
2. 分模块开发(模块拆分)
(1)创建Maven模块
(2)书写模块代码
(3)通过maven指令安装模块到本地仓库(install指令)
二、依赖管理
1. 依赖传递
2. 可选依赖
3. 排除依赖
4. 可选依赖和排除依赖的区别
三、聚合与继承
1. 聚合工程
2. 聚合工程开发
(1)创建Maven模块,设置打包类型为pom
(2) 设置当前聚合工程所包含的子模块名称
3. 继承关系
4. 继承关系开发
(1)创建Maven模块,设置打包类型为pom
(2)在父工程的pom文件中配置依赖关系(子工程将沿用父工程中的依赖关系)
(3)配置子工程中可选的依赖关系
(4)在子工程中配置当前工程所继承的父工程
(5)在子工程中配置使用父工程中可选依赖的坐标
5. 聚合与继承的区别
(1)聚合和继承的作用
(2)聚合和继承的相同点
(3)聚合和继承的不同点
四、属性管理
1. 属性
(1)属性配置与使用
①:定义属性
②:引用属性
(2)资源文件引用属性
①:定义属性
②:配置文件中引用属性
③:开启资源文件目录加载属性的过滤器
④:配置maven打war包时,忽略web.xml检查
(3)其他属性(了解)
2. 版本管理
(1)工程版本
a. SNAPSHOT(快照版本)
b. RELEASE(发布版本)
(2)发布版本
a. alpha版
b. beta版
c. 纯数字版
五、多环境配置与应用
1. 多环境配置作用
2. 多环境配置步骤
(1)定义多环境
(2)使用多环境(构建过程)
2. 跳过测试(了解)
(1)应用场景
(2) 跳过测试命令
(3)细粒度控制跳过测试
六、私服
1. 私服介绍
(2)Nexus安装与启动
(3)私服资源操作流程分析
2. 私服仓库分类
3. 资源上传与下载
(1)从私服中下载依赖
(2)上传依赖到私服中
一、分模块开发与设计
1. 分模块开发的意义
模块拆分原则:项目的扩展性变强了,方便其他项目引用相同的功能。
将原始模块按照功能拆分成若干个子模块,方便模块间的相互调用,接口共享
2. 分模块开发(模块拆分)
(1)创建Maven模块
(2)书写模块代码
注意事项:
分模块开发需要先针对模块功能进行设计,再进行编码。不会先将工程开发完毕,然后进行拆分
(3)通过maven指令安装模块到本地仓库(install指令)
mvn install
注意事项:
团队内部开发需要发布模块功能到团队内部可共享的仓库中(私服)
二、依赖管理
依赖管理指当前项目运行所需的jar,一个项目可以设置多个依赖
格式:
<!--设置当前项目所依赖的所有jar-->
<dependencies><!--设置具体的依赖--><dependency><!--依赖所属群组id--><groupId>org.springframework</groupId><!--依赖所属项目id--><artifactId>spring-webmvc</artifactId><!--依赖版本号--><version>5.2.10.RELEASE</version></dependency>
</dependencies>
1. 依赖传递
A依赖B,B依赖C,A是否依赖于C呢?依赖
依赖具有传递性:
直接依赖:在当前项目中通过依赖配置建立的依赖关系
间接依赖:被资源的资源如果依赖其他资源,当前项目间接依赖其他资源
特殊优先:当同级配置了相同资源的不同版本,后配置的覆盖先配置的
2. 可选依赖
A依赖B,B依赖C,如果A不想将C依赖进来,是否可以做到?可以
可选依赖指对外隐藏当前所依赖的资源————不透明
<dependency><groupId>com.itheima</groupId><artifactId>maven_03_pojo</artifactId><version>1.0-SNAPSHOT</version><!--可选依赖是隐藏当前工程所依赖的资源,隐藏后对应资源将不具有依赖传递性--><optional>false</optional>
</dependency>
3. 排除依赖
A依赖B,B依赖C,如果A不想将C依赖进来,是否可以做到?可以
(1)排除依赖指主动断开依赖的资源,被排除的资源无需指定版本————不需要
(2)排除依赖资源仅指定GA即可,无需指定V
<dependency><groupId>com.itheima</groupId><artifactId>maven_04_dao</artifactId><version>1.0-SNAPSHOT</version><!--排除依赖是隐藏当前资源对应的依赖关系--><exclusions><exclusion><groupId>log4j</groupId><artifactId>log4j</artifactId></exclusion><exclusion><groupId>org.mybatis</groupId><artifactId>mybatis</artifactId></exclusion></exclusions>
</dependency>
4. 可选依赖和排除依赖的区别
三、聚合与继承
1. 聚合工程
什么叫聚合?
聚合:将多个模块组织成一个整体,同时进行项目构建的过程称为聚合
聚合工程:通常是一个不具有业务功能的”空“工程(有且仅有一个pom文件)
作用:
a. 使用聚合工程可以将多个工程编组,通过对聚合工程进行构建,实现对所包含的模块进行同
步构建
b.当工程中某个模块发生更新(变更)时,必须保障工程中与已更新模块关联的模块同步更新, 此时可以使用聚合工程来解决批量模块同步构建的问题
2. 聚合工程开发
(1)创建Maven模块,设置打包类型为pom
<packaging>pom</packaging>
注意事项:
每个maven工程都有对应的打包方式,默认为jar,web工程打包方式为war
(2) 设置当前聚合工程所包含的子模块名称
<modules><module>../maven_ssm</module><module>../maven_pojo</module><module>../maven_dao</module>
</modules>
注意事项:
a. 聚合工程中所包含的模块在进行构建时会根据模块间的依赖关系设置构建顺序,与聚合工程中模块的配置书写位置无关。
b. 参与聚合的工程无法向上感知是否参与聚合,只能向下配置哪些模块参与本工程的聚合。
3. 继承关系
(1)什么叫继承?
概念:
继承描述的是两个工程间的关系,与java中的继承相似,子工程可以继承父工程中的配 置信息,常见于依赖关系的继承
作用:
简化配置
减少版本冲突
4. 继承关系开发
(1)创建Maven模块,设置打包类型为pom
<packaging>pom</packaging>
注意事项:
建议父工程打包方式设置为pom
(2)在父工程的pom文件中配置依赖关系(子工程将沿用父工程中的依赖关系)
<dependencies><dependency><groupId>org.springframework</groupId><artifactId>spring-webmvc</artifactId><version>5.2.10.RELEASE</version></dependency>
……
</dependencies>
(3)配置子工程中可选的依赖关系
<dependencyManagement><dependencies><dependency><groupId>com.alibaba</groupId><artifactId>druid</artifactId><version>1.1.16</version></dependency>
……</dependencies>
</dependencyManagement>
(4)在子工程中配置当前工程所继承的父工程
<!--定义该工程的父工程-->
<parent><groupId>com.itheima</groupId><artifactId>maven_parent</artifactId><version>1.0-SNAPSHOT</version><!--填写父工程的pom文件,根据实际情况填写--><relativePath>../maven_parent/pom.xml</relativePath>
</parent>
(5)在子工程中配置使用父工程中可选依赖的坐标
<dependencies><dependency><groupId>com.alibaba</groupId><artifactId>druid</artifactId></dependency>
</dependencies>
注意事项:
a. 子工程中使用父工程中的可选依赖时,仅需要提供群组id和项目id,无需提供版本,版本由父工程统一提供,避免版本冲突
b. 子工程中还可以定义父工程中没有定义的依赖关系
5. 聚合与继承的区别
(1)聚合和继承的作用
a. 聚合用于快速构建项目
b. 继承用于快速配置
(2)聚合和继承的相同点:
a. 聚合与继承的pom.xml文件打包方式均为pom,可以将两种关系制作到同一个pom文件中
b. 聚合与继承均属于设计型模块,并无实际的模块内容
(3)聚合和继承的不同点:
a. 聚合是在当前模块中配置关系,聚合可以感知到参与聚合的模块有哪些
b. 继承是在子模块中配置关系,父模块无法感知哪些子模块继承了自己
四、属性管理
1. 属性
(1)属性配置与使用
①:定义属性
<!--定义自定义属性-->
<properties><spring.version>5.2.10.RELEASE</spring.version><junit.version>4.12</junit.version>
</properties>
②:引用属性
<dependency><groupId>org.springframework</groupId><artifactId>spring-context</artifactId><version>${spring.version}</version>
</dependency>
(2)资源文件引用属性
①:定义属性
<!--定义自定义属性-->
<properties><spring.version>5.2.10.RELEASE</spring.version><junit.version>4.12</junit.version><jdbc.url>jdbc:mysql://127.0.0.1:3306/ssm_db</jdbc.url>
</properties>
②:配置文件中引用属性
jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=${jdbc.url}
jdbc.username=root
jdbc.password=root
③:开启资源文件目录加载属性的过滤器
<build><resources><resource><directory>${project.basedir}/src/main/resources</directory><filtering>true</filtering></resource></resources>
</build>
④:配置maven打war包时,忽略web.xml检查
<plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-war-plugin</artifactId><version>3.2.3</version><configuration><failOnMissingWebXml>false</failOnMissingWebXml></configuration>
</plugin>
(3)其他属性(了解)
2. 版本管理
(1)工程版本
a. SNAPSHOT(快照版本)
项目开发过程中临时输出的版本,称为快照版本
快照版本会随着开发的进展不断更新
b. RELEASE(发布版本)
项目开发到进入阶段里程碑后,向团队外部发布较为稳定的版本,这种版本所对应的构件文件是稳定的
即便进行功能的后续开发,也不会改变当前发布版本内容,这种版本称为发布版本
(2)发布版本
a. alpha版
b. beta版
c. 纯数字版
五、多环境配置与应用
1. 多环境配置作用
maven提供配置多种环境的设定,帮助开发者使用过程中快速切换环境
2. 多环境配置步骤
(1)定义多环境
<!--定义多环境-->
<profiles><!--定义具体的环境:生产环境--><profile><!--定义环境对应的唯一名称--><id>env_dep</id><!--定义环境中专用的属性值--><properties><jdbc.url>jdbc:mysql://127.0.0.1:3306/ssm_db</jdbc.url></properties><!--设置默认启动--><activation><activeByDefault>true</activeByDefault></activation></profile><!--定义具体的环境:开发环境--><profile><id>env_pro</id>
……</profile>
</profiles>
(2)使用多环境(构建过程)
【命令】:
mvn 指令 –P 环境定义id【范例】:
mvn install –P pro_env
2. 跳过测试(了解)
(1)应用场景
功能更新中并且没有开发完毕
快速打包
……
(2) 跳过测试命令
mvn install –D skipTests
注意事项:
执行的项目构建指令必须包含测试生命周期,否则无效果。例如执行compile生命 周期,不经过test生命周期。
(3)细粒度控制跳过测试
<plugin><artifactId>maven-surefire-plugin</artifactId><version>2.22.1</version><configuration><skipTests>true</skipTests><!--设置跳过测试--><includes><!--包含指定的测试用例--><include>**/User*Test.java</include></includes><excludes><!--排除指定的测试用例--><exclude>**/User*TestCase.java</exclude></excludes></configuration>
</plugin>
六、私服
1. 私服介绍
(1)私服是一台独立的服务器,用于解决团队内部的资源共享与资源同步问题
Nexus:
Sonatype公司的一款maven私服产品
下载地址:https://help.sonatype.com/repomanager3/download
(2)Nexus安装与启动
(3)私服资源操作流程分析
2. 私服仓库分类
3. 资源上传与下载
(1)从私服中下载依赖
【第一步】在maven的settings.xml中<mirrors>标签中配置,此时就需要注释掉aliyun的配置。
<mirror><id>nexus-heima</id><mirrorOf>*</mirrorOf><url>http://localhost:8081/repository/maven-public/</url>
</mirror>
【第二步】在nexus中设置允许匿名下载,如果不允许将不会从私服中下载依赖
如果私服中没有对应的jar,会去中央仓库下载,速度很慢。可以配置让私服去阿里云中下载依赖。
(2)上传依赖到私服中
【第一步】配置本地仓库访问私服的权限(在maven的settings.xml的servers标签中配置)
<server><!--id任意,多个server的id不重复就行,后面会用到--><id>heima-nexus</id><username>admin</username><password>123456</password><!--填写自己nexus设定的登录秘密-->
</server>
【第二步】配置当前项目访问私服上传资源的保存位置(项目的pom.xml文件中配置)
<distributionManagement><repository><!--和maven/settings.xml中server中的id一致,表示使用该id对应的用户名和密码--><id>heima-nexus</id><!--如果jar的版本是release版本,那么就上传到这个仓库,根据自己情况修改--><url>http://localhost:8081/repository/heima-releases/</url></repository><snapshotRepository><!--和maven/settings.xml中server中的id一致,表示使用该id对应的用户名和密码--><id>heima-nexus</id><!--如果jar的版本是snapshot版本,那么就上传到这个仓库,根据自己情况修改--><url>http://localhost:8081/repository/heima-snapshots/</url></snapshotRepository>
</distributionManagement>
注意:要和maven的settings.xml中server中定义的<id>heima-nexus</id>对应
【第三步】发布资源到私服命令
mvn deploy
相关文章:
Maven高级
目录 一、分模块开发与设计 1. 分模块开发的意义 2. 分模块开发(模块拆分) (1)创建Maven模块 (2)书写模块代码 (3)通过maven指令安装模块到本地仓库(install指令&…...
【视觉SLAM入门】5.2. 2D-3D PNP 3D-3D ICP BA非线性优化方法 数学方法SVD DLT
"养气之学,戒之躁急" 1. 3D-2D PNP1.1 代数法1.1.1 DLT(直接线性变换法)1.1.2. P3P 1.2 优化法BA (Bundle Adjustment)法 2. 3D-3D ICP2.1 代数法2.1.1 SVD方法 2.2 优化(BA)法2.2.2 非线性优化方法 前置事项: 1. 3D-2D PNP 该问题描述为&am…...
人脸老化预测(Python)
本次项目的文件 main.py主程序如下 导入必要的库和模块: 导入 TensorFlow 库以及自定义的 FaceAging 模块。导入操作系统库和参数解析库。 定义 str2bool 函数: 自定义函数用于将字符串转换为布尔值。 创建命令行参数解析器: 使用 argparse.A…...
AWS SDK 3.x for .NET Framework 4.0 可行性测试
前言 为了应对日益增长的网络安全挑战, 越来越多的互联网厂商已经陆续开始或者已经彻底停止了对 SSL 3 / TLS 1.0 / TLS1.1 等上古加密算法的支持. 而对于一些同样拥有悠久历史的和 AWS 服务相关联的应用程序, 是否可以通过仅更新 SDK 版本的方式来适应新的环境. 本文将以 Win…...
两个list。如何使用流的写法将一个list中的对象中的某些属性根据另外一个list中的属性值赋值进去?
两个list。如何使用流的写法将一个list中的对象中的某些属性根据另外一个list中的属性值赋值进去? 你可以使用Java 8以上版本中的流(Stream)和Lambda表达式来实现这个需求。假设有两个List,一个是sourceList,包含要赋值属性的对象;另一个是…...
美国陆军希望大数据技术能够帮助保护其云安全
随着陆军采用更大型的云服务,一位高级官员警告说,一些在私营部门有效的快速软件开发技巧和简单解决方案(例如开放代码库)如果没有额外的安全性,将无法为军队工作。 我们知道现代软件开发确实依赖于第三方库ÿ…...
vue 文字跑马灯
<template><div class"marquee-container"><div class"marquee-content"><div>{{ marqueeText }}</div><div>{{ marqueeText }}</div> <!-- 复制一份文本,用于无缝衔接 --></div></d…...
开源ChatGPT系统源码 采用NUXT3+Laravel9后端开发 前后端分离版本
开源ChatGPT系统源码 采用NUXT3Laravel9后端开发 前后端分离版本 ChatGPT是一种基于AI的聊天机器人技术,它可以帮助用户与聊天机器人进行自然语言交流,以解决用户的问题或满足用户的需求。ChatGPT的核心技术是使用自然语言处理(NLPÿ…...
【LeetCode|数据结构】剑指 Offer 33. 二叉搜索树的后序遍历序列
题目链接 剑指 Offer 33. 二叉搜索树的后序遍历序列 标签 二叉搜索树、后序遍历 步骤 二叉搜索树的左子树的节点值 ≤ \le ≤根节点值 ≤ \le ≤右子树的节点值;对于后序遍历序列最后一个元素的值为根节点的值; 由上面的两个性质可以得出ÿ…...
自定义协程
难点 自己写了一遍协程,困难的地方在于unity中的执行顺序突然发现unity里面可以 yield return 的其实有很多 WaitForSeconds WaitForSecondsRealtime WaitForEndOfFrame WaitForFixedUpdate WaitUntil WaitWhile IEnumerator(可以用于协程嵌套…...
【Atcoder】 [ABC240Ex] Sequence of Substrings
题目链接 Atcoder方向 Luogu方向 题目解法 先考虑一个性质,选出的子串长度不会超过 2 n \sqrt {2n} 2n 考虑最劣的选法是选出长度为 1 , 2 , 3 , . . . 1,2,3,... 1,2,3,... 的子串(如果后一个选出的串比前一个子串长度大超过1,那么后…...
真机二阶段之堆叠技术
堆叠技术 --- 可以将多台真实的物理设备逻辑上抽象成一台 思科 -- VPC 华为 -- iStack和CSS 华三 -- IRF 锐捷 -- VSU iStack和CSS的区别: CSS --- 集群 --- 它仅支持将两台支持集群的交换机逻辑上整合成一台设备。 iStack --- 堆叠 --- 可以将多台支持堆叠的交换…...
简单、快速、无需注册的在线 MockJs 工具
简单、快速、无需注册的 MockJs 工具。通过参数来返回数据,传入什么参数就返回什么数据。 使用 接口只支持返回文本类数据,不支持图片、流数据等。 json 调用接口 https://mock.starxg.com/?responseBody{“say”:“hello”}&contentTypeapplic…...
【Linux取经路】探索进程状态之僵尸进程 | 孤儿进程
文章目录 一、进程状态概述1.1 运行状态详解1.2 阻塞状态详解1.3 挂起状态详解 二、具体的Linux操作系统中的进程状态2.1 Linux内核源代码2.2 查看进程状态2.3 D磁盘休眠状态(Disk sleep)2.4 T停止状态(stopped) 三、僵尸进程3.1 僵尸进程危害总结 四、孤儿进程五、结语 一、进…...
第十二章MyBatis动态SQL
if标签与where标签 if标签 test如果为true就会拼接查询条件,否则不会 当没有使用Param,test出现arg0/param1当使用Param,test为Param指定的值当使用Pojo,test为对象的属性名 select * from car where <if test"name!n…...
redis--发布订阅
redis的发布和订阅 在Redis中,发布-订阅(Publish-Subscribe,简称Pub/Sub)是一种消息传递模式,用于在不同的客户端之间传递消息,允许一个消息发布者将消息发送给多个订阅者。这种模式适用于解耦消息发送者和…...
链表2-两两交换链表中的节点删除链表的倒数第N个节点链表相交环形链表II
今天记录的题目: ● 24. 两两交换链表中的节点 ● 19.删除链表的倒数第N个节点 ● 面试题 02.07. 链表相交 ● 142.环形链表II 两两交换链表中的节点 题目链接:24. 两两交换链表中的节点 这题比较简单,记录好两个节点,交换其nex…...
数据结构之并查集
并查集 1. 并查集原理2. 并查集实现3. 并查集应用3.1 省份数量3.2 等式方程的可满足性 4. 并查集的优缺点及时间复杂度 1. 并查集原理 并查表原理是一种树型的数据结构,用于处理一些不相交集合的合并及查询问题。并查集的思想是用一个数组表示了整片森林࿰…...
[element-ui] el-date-picker a-range-picker type=“daterange“ rules 校验
项目场景: 在项目中表单提交有时间区间校验 问题描述 想当然的就和其他单个输入框字符串校验,导致提交保存的时候 ,初次日期未选择,规则提示。后续在同一表单上继续提交时,校验失效。走进了死胡同,一直以…...
Dockers搭建个人网盘、私有仓库,Dockerfile制作Nginx、Lamp镜像
目录 1、使用mysql:5.6和 owncloud 镜像,构建一个个人网盘。 (1)下载mysql:5.6和owncloud镜像 (2)创建启动mysql:5.6和owncloud容器 (3)在浏览器中输入网盘服务器的IP地址,进行账…...
2023 CCPC 华为云计算挑战赛 hdu7401 流量监控(树形dp)
题目 流量监控 - HDU 7401 - Virtual Judge 简单来说,T(T<20)组样例,sumn不超过2e4 每次给定一棵n(n<2000)个点的树,两问: ①将n个点恰拆成n/2个pair(u,v),要求一个点是另一个点的祖先,求方案数 …...
01.Django入门
1.创建项目 1.1基于终端创建Django项目 打开终端进入文件路径(打算将项目放在哪个目录,就进入哪个目录) E:\learning\python\Django 执行命令创建项目 F:\Anaconda3\envs\pythonWeb\Scripts\django-admin.exe(Django-admin.exe所…...
亿赛通电子文档安全管理系统任意文件上传漏洞(2023-HW)
亿赛通电子文档安全管理系统任意文件上传漏洞 一、 产品简介二、 漏洞概述三、 影响范围四、 复现环境五、 漏洞复现小龙POC检测 免责声明:请勿利用文章内的相关技术从事非法测试,由于传播、利用此文所提供的信息或者工具而造成的任何直接或者间接的后果…...
docker限制容器日志大小
文章目录 业务场景问题排查彻底解决 业务场景 我们公司做交通相关业务,我们部门主要负责信控服务,卖信号机的硬件产品和配套的信控平台 由于有部分小项目,可能只有几十个路口,客户预算有限,只给我们老旧的Windows ser…...
底层驱动实现数码管显示温湿度数值功能
开发板:STM32MP157A 温湿度传感器:si7006 显示器(数码管):m74hc595 遇到的问题:循环采集温湿度传感器数值,并将数值发送给数码管的时候两者存在竞态关系,导致数码管显示亮度很暗 …...
03架构管理之测试管理
专栏说明:针对于企业的架构管理岗位,分享架构管理岗位的职责,工作内容,指导架构师如何完成架构管理工作,完成架构师到架构管理者的转变。计划以10篇博客阐述清楚架构管理工作,专栏名称:架构管理…...
30、devtools 依赖关于自动重启(自动加载页面)的知识
devtools 依赖关于自动重启的知识 ★ 自动重启 devtools会监控类加载路径中的文件(尤其是*.class文件),只要这些文件发生了改变, devtools就会自动重启Spring Boot应用。▲ 不同工具触发自动重启的方式:Eclipse&…...
ES6 Promise/Async/Await使用
Promise应用 在工作中, 我们经常会遇到用异步请求数据, 查询一个结果, 然后把返回的参数放入到下一个执行的异步函数像这样: $.ajax({..., success(resp)>{$.ajax({..., resp.id, success(resp)>{$.ajax({..., resp.name success(resp)>{//多层嵌套的情况, 看着是不…...
Word中对象方法(Methods)的理解及示例(上)
【分享成果,随喜正能量】奋斗没有终点,任何时候都是一个起点,沉潜是为了蓄势待发,沉潜是为了等待因缘。鲸豚沉潜于大海,幽兰深藏于山谷,能够经得起沉潜的人,才会有更高的成就。正如一年的树木只能当柴烧&am…...
AutoDev 1.1.3 登场,个性化 AI 辅助:私有化大模型、自主设计 prompt、定义独特规则...
在过去的半个月里,我们为开源辅助编程工具 AutoDev 添加了更强大的自定义能力,现在你可以: 使用自己部署的开源大模型自己配置 Intellij IDEA 中的行为自定义开发过程中的规范 当然了,如果您自身拥有开发能力的话,建议…...
网站联动/seo流程
一、集合数据类型(set):无序不重复的集合,交集、并集等功能 二、三元运算符 三、深浅拷贝 1)字符串和数字:深浅内存地址都一样 2)其他:浅拷贝:仅复制最外面第一层 深拷贝:除了最内层其他均拷贝四…...
网站开发建设准备工作/济南百度推广代理商
实验内容 本次实践项目就是将 Linux 0.11 中采用的 TSS 切换部分去掉,取而代之的是基于堆栈的切换程序。具体的说,就是将 Linux 0.11 中的 switch_to 实现去掉,写成一段基于堆栈切换的代码。 本次实验包括如下内容: 编写汇编程…...
wordpress 红色模版/开发一个网站的步骤流程
条件概率是概率论中的一个重要而实用的概念。 所考虑的是在一个事件已经发生的条件下,另一事件发生的概率。 先看一个例子。 复制代码例1 将一枚硬币抛掷两次,观察其出现正反面的情况 设事件A表示“至少有一次出现正面”, 事件B表示“两次都出…...
金融手机网站开发/百度首页排名代发
文件夹: 类型文件 include: .h (头文件) lib: .lib (库) 前面二者在vs2008中通过属性来配置。 bin: .dll (动态链接库) 动态链接库是通过系统路径来配置的。 添加库(libs)文件目录 …...
梅陇做网站/百度热搜seo
这次写一下精灵创建的几种类型: 一、通过文件创建: 在原有的基础上加入例如以下代码: //一、通过文件创建精灵 CCSprite *bg CCSprite::create("map.png"); CCSize winSize CCDirector::sharedDirector()->getWinSize(); //得到屏幕的尺寸…...
网站自动采集更新/百度app下载最新版
【Morty】普通人改变命运的秘密!我的观点可能会颠覆你的认知_哔哩哔哩_bilibili 非常感谢UP,你的每个视频我都看了,给我启示最大的是《为什么你总是那么穷》,这些年一直走背运,加上20年创业失败了,已经身无…...