windows环境下启动和配置nacos最全流程

2023-10-28

一直在用nacos,作为配置中心和服务管理中心,但是nacos服务自己没有部署过,在看了nacos的架构以后,自己决定动手部署下,官网上提供了linux、window、docker环境部署文档,感觉很简单,按照文档操作一遍发现,启动不了。后来经过自己全网搜索,终于服务起来了。总结下有几个问题自己梳理下,以备不时之需

1、版本

不同的版本具体配置文件有差异,不分版本号,统一按照文档操作,服务起不来。

2、文档漏掉了,数据库脚本执行。

整体操作流程如下,

1、我是down的源码,自己编译启动的,当然也可以直接下载jar包

down源码流程如下,按照这个来

git clone https://github.com/alibaba/nacos.git
cd nacos/
mvn -Prelease-nacos -Dmaven.test.skip=true clean install -U  
ls -al distribution/target/

// change the $version to your actual path
cd distribution/target/nacos-server-$version/nacos/bin
startup.cmd -m standalone

编译完,打包发现,我的版本号是:2.2.1版本

 2、也可以通过下载压缩包,方法官网有,官网地址:Nacos 快速开始

3、跑nacos相关数据库脚本

在官方的文档中,并没有跑脚本这一步,并且官网提供的脚本在执行过程中有语法错误,我的脚本如下:在脚本执行前,创建的数据库名称需要注意,和nacos配置文件中的数据库连接那里一致。

CREATE TABLE `config_info` (
  `id` BIGINT(20) NOT NULL AUTO_INCREMENT COMMENT 'id',
  `data_id` VARCHAR(255) NOT NULL COMMENT 'data_id',
  `group_id` VARCHAR(255) DEFAULT NULL,
  `content` LONGTEXT NOT NULL COMMENT 'content',
  `md5` VARCHAR(32) DEFAULT NULL COMMENT 'md5',
  `gmt_create` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `gmt_modified` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间',
  `src_user` TEXT COMMENT 'source user',
  `src_ip` VARCHAR(50) DEFAULT NULL COMMENT 'source ip',
  `app_name` VARCHAR(128) DEFAULT NULL,
  `tenant_id` VARCHAR(128) DEFAULT '' COMMENT '租户字段',
  `c_desc` VARCHAR(256) DEFAULT NULL,
  `c_use` VARCHAR(64) DEFAULT NULL,
  `effect` VARCHAR(64) DEFAULT NULL,
  `type` VARCHAR(64) DEFAULT NULL,
  `c_schema` TEXT,
  PRIMARY KEY (`id`),
  UNIQUE KEY `uk_configinfo_datagrouptenant` (`data_id`,`group_id`,`tenant_id`)
) ENGINE=INNODB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='config_info';

/******************************************/
/*   数据库全名 = nacos_config   */
/*   表名称 = config_info_aggr   */
/******************************************/
CREATE TABLE `config_info_aggr` (
  `id` BIGINT(20) NOT NULL AUTO_INCREMENT COMMENT 'id',
  `data_id` VARCHAR(255) NOT NULL COMMENT 'data_id',
  `group_id` VARCHAR(255) NOT NULL COMMENT 'group_id',
  `datum_id` VARCHAR(255) NOT NULL COMMENT 'datum_id',
  `content` LONGTEXT NOT NULL COMMENT '内容',
  `gmt_modified` DATETIME NOT NULL COMMENT '修改时间',
  `app_name` VARCHAR(128) DEFAULT NULL,
  `tenant_id` VARCHAR(128) DEFAULT '' COMMENT '租户字段',
  PRIMARY KEY (`id`),
  UNIQUE KEY `uk_configinfoaggr_datagrouptenantdatum` (`data_id`,`group_id`,`tenant_id`,`datum_id`)
) ENGINE=INNODB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='增加租户字段';


/******************************************/
/*   数据库全名 = nacos_config   */
/*   表名称 = config_info_beta   */
/******************************************/
CREATE TABLE `config_info_beta` (
  `id` BIGINT(20) NOT NULL AUTO_INCREMENT COMMENT 'id',
  `data_id` VARCHAR(255) NOT NULL COMMENT 'data_id',
  `group_id` VARCHAR(128) NOT NULL COMMENT 'group_id',
  `app_name` VARCHAR(128) DEFAULT NULL COMMENT 'app_name',
  `content` LONGTEXT NOT NULL COMMENT 'content',
  `beta_ips` VARCHAR(1024) DEFAULT NULL COMMENT 'betaIps',
  `md5` VARCHAR(32) DEFAULT NULL COMMENT 'md5',
  `gmt_create` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `gmt_modified` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间',
  `src_user` TEXT COMMENT 'source user',
  `src_ip` VARCHAR(50) DEFAULT NULL COMMENT 'source ip',
  `tenant_id` VARCHAR(128) DEFAULT '' COMMENT '租户字段',
  PRIMARY KEY (`id`),
  UNIQUE KEY `uk_configinfobeta_datagrouptenant` (`data_id`,`group_id`,`tenant_id`)
) ENGINE=INNODB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='config_info_beta';

/******************************************/
/*   数据库全名 = nacos_config   */
/*   表名称 = config_info_tag   */
/******************************************/
CREATE TABLE `config_info_tag` (
  `id` BIGINT(20) NOT NULL AUTO_INCREMENT COMMENT 'id',
  `data_id` VARCHAR(255) NOT NULL COMMENT 'data_id',
  `group_id` VARCHAR(128) NOT NULL COMMENT 'group_id',
  `tenant_id` VARCHAR(128) DEFAULT '' COMMENT 'tenant_id',
  `tag_id` VARCHAR(128) NOT NULL COMMENT 'tag_id',
  `app_name` VARCHAR(128) DEFAULT NULL COMMENT 'app_name',
  `content` LONGTEXT NOT NULL COMMENT 'content',
  `md5` VARCHAR(32) DEFAULT NULL COMMENT 'md5',
  `gmt_create` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `gmt_modified` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间',
  `src_user` TEXT COMMENT 'source user',
  `src_ip` VARCHAR(50) DEFAULT NULL COMMENT 'source ip',
  PRIMARY KEY (`id`),
  UNIQUE KEY `uk_configinfotag_datagrouptenanttag` (`data_id`,`group_id`,`tenant_id`,`tag_id`)
) ENGINE=INNODB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='config_info_tag';

/******************************************/
/*   数据库全名 = nacos_config   */
/*   表名称 = config_tags_relation   */
/******************************************/
CREATE TABLE `config_tags_relation` (
  `id` BIGINT(20) NOT NULL COMMENT 'id',
  `tag_name` VARCHAR(128) NOT NULL COMMENT 'tag_name',
  `tag_type` VARCHAR(64) DEFAULT NULL COMMENT 'tag_type',
  `data_id` VARCHAR(255) NOT NULL COMMENT 'data_id',
  `group_id` VARCHAR(128) NOT NULL COMMENT 'group_id',
  `tenant_id` VARCHAR(128) DEFAULT '' COMMENT 'tenant_id',
  `nid` BIGINT(20) NOT NULL AUTO_INCREMENT,
  PRIMARY KEY (`nid`),
  UNIQUE KEY `uk_configtagrelation_configidtag` (`id`,`tag_name`,`tag_type`),
  KEY `idx_tenant_id` (`tenant_id`)
) ENGINE=INNODB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='config_tag_relation';

/******************************************/
/*   数据库全名 = nacos_config   */
/*   表名称 = group_capacity   */
/******************************************/
CREATE TABLE `group_capacity` (
  `id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '主键ID',
  `group_id` VARCHAR(128) NOT NULL DEFAULT '' COMMENT 'Group ID,空字符表示整个集群',
  `quota` INT(10) UNSIGNED NOT NULL DEFAULT '0' COMMENT '配额,0表示使用默认值',
  `usage` INT(10) UNSIGNED NOT NULL DEFAULT '0' COMMENT '使用量',
  `max_size` INT(10) UNSIGNED NOT NULL DEFAULT '0' COMMENT '单个配置大小上限,单位为字节,0表示使用默认值',
  `max_aggr_count` INT(10) UNSIGNED NOT NULL DEFAULT '0' COMMENT '聚合子配置最大个数,,0表示使用默认值',
  `max_aggr_size` INT(10) UNSIGNED NOT NULL DEFAULT '0' COMMENT '单个聚合数据的子配置大小上限,单位为字节,0表示使用默认值',
  `max_history_count` INT(10) UNSIGNED NOT NULL DEFAULT '0' COMMENT '最大变更历史数量',
  `gmt_create` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `gmt_modified` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间',
  PRIMARY KEY (`id`),
  UNIQUE KEY `uk_group_id` (`group_id`)
) ENGINE=INNODB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='集群、各Group容量信息表';

/******************************************/
/*   数据库全名 = nacos_config   */
/*   表名称 = his_config_info   */
/******************************************/
CREATE TABLE `his_config_info` (
  `id` BIGINT(64) UNSIGNED NOT NULL,
  `nid` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
  `data_id` VARCHAR(255) NOT NULL,
  `group_id` VARCHAR(128) NOT NULL,
  `app_name` VARCHAR(128) DEFAULT NULL COMMENT 'app_name',
  `content` LONGTEXT NOT NULL,
  `md5` VARCHAR(32) DEFAULT NULL,
  `gmt_create` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `gmt_modified` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `src_user` TEXT,
  `src_ip` VARCHAR(50) DEFAULT NULL,
  `op_type` CHAR(10) DEFAULT NULL,
  `tenant_id` VARCHAR(128) DEFAULT '' COMMENT '租户字段',
  PRIMARY KEY (`nid`),
  KEY `idx_gmt_create` (`gmt_create`),
  KEY `idx_gmt_modified` (`gmt_modified`),
  KEY `idx_did` (`data_id`)
) ENGINE=INNODB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='多租户改造';


/******************************************/
/*   数据库全名 = nacos_config   */
/*   表名称 = tenant_capacity   */
/******************************************/
CREATE TABLE `tenant_capacity` (
  `id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '主键ID',
  `tenant_id` VARCHAR(128) NOT NULL DEFAULT '' COMMENT 'Tenant ID',
  `quota` INT(10) UNSIGNED NOT NULL DEFAULT '0' COMMENT '配额,0表示使用默认值',
  `usage` INT(10) UNSIGNED NOT NULL DEFAULT '0' COMMENT '使用量',
  `max_size` INT(10) UNSIGNED NOT NULL DEFAULT '0' COMMENT '单个配置大小上限,单位为字节,0表示使用默认值',
  `max_aggr_count` INT(10) UNSIGNED NOT NULL DEFAULT '0' COMMENT '聚合子配置最大个数',
  `max_aggr_size` INT(10) UNSIGNED NOT NULL DEFAULT '0' COMMENT '单个聚合数据的子配置大小上限,单位为字节,0表示使用默认值',
  `max_history_count` INT(10) UNSIGNED NOT NULL DEFAULT '0' COMMENT '最大变更历史数量',
  `gmt_create` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `gmt_modified` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间',
  PRIMARY KEY (`id`),
  UNIQUE KEY `uk_tenant_id` (`tenant_id`)
) ENGINE=INNODB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='租户容量信息表';


CREATE TABLE `tenant_info` (
  `id` BIGINT(20) NOT NULL AUTO_INCREMENT COMMENT 'id',
  `kp` VARCHAR(128) NOT NULL COMMENT 'kp',
  `tenant_id` VARCHAR(128) DEFAULT '' COMMENT 'tenant_id',
  `tenant_name` VARCHAR(128) DEFAULT '' COMMENT 'tenant_name',
  `tenant_desc` VARCHAR(256) DEFAULT NULL COMMENT 'tenant_desc',
  `create_source` VARCHAR(32) DEFAULT NULL COMMENT 'create_source',
  `gmt_create` BIGINT(20) NOT NULL COMMENT '创建时间',
  `gmt_modified` BIGINT(20) NOT NULL COMMENT '修改时间',
  PRIMARY KEY (`id`),
  UNIQUE KEY `uk_tenant_info_kptenantid` (`kp`,`tenant_id`),
  KEY `idx_tenant_id` (`tenant_id`)
) ENGINE=INNODB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='tenant_info';

CREATE TABLE `users` (
    `username` VARCHAR(50) NOT NULL PRIMARY KEY,
    `password` VARCHAR(500) NOT NULL,
    `enabled` BOOLEAN NOT NULL
);

CREATE TABLE `roles` (
    `username` VARCHAR(50) NOT NULL,
    `role` VARCHAR(50) NOT NULL,
    UNIQUE INDEX `idx_user_role` (`username` ASC, `role` ASC) USING BTREE
);

CREATE TABLE `permissions` (
    `role` VARCHAR(50) NOT NULL,
    `resource` VARCHAR(255) NOT NULL,
    `action` VARCHAR(8) NOT NULL,
    UNIQUE INDEX `uk_role_permission` (`role`,`resource`,`action`) USING BTREE
);

INSERT INTO users (username, PASSWORD, enabled) VALUES ('nacos', '$2a$10$EuWPZHzz32dJN7jexM34MOeYirDdFAZm2kuWj7VEOJhhZkDrxfvUu', TRUE);

INSERT INTO roles (username, role) VALUES ('nacos', 'ROLE_ADMIN');

4、修改配置文件

配置文件路径,我的路径在D:\project\nacos\distribution\target\nacos-server-2.2.1-SNAPSHOT\nacos\conf下

 修改properties里jdbc连接:


### Connect URL of DB:
 db.url.0=jdbc:mysql://10.208.####.###:3306//nacos?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC
 db.user.0=root
 db.password.0=root

然后我启动,在git客户端上使用上述文档上 执行   startup.cmd -m standalone 启动报错并且启动界面闪退,完全看不到错误日志,不知道具体啥情况,此时,需要cmd进入到windows命令提供符窗口,进入到nacos的bin目录下,再次执行上面命令,启动日志可以出现了,可见已经报错了。

  Unsatisfied dependency expressed through field 'jwtTokenManager'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'jwtTokenManager' defined in URL [jar:file:/D:/project/nacos/distribution/target/nacos-server-2.2.1-SNAPSHOT/nacos/target/nacos-server.jar!/BOOT-INF/lib/nacos-plugin-default-impl-2.2.1-SNAPSHOT.jar!/com/alibaba/nacos/plugin/auth/impl/token/impl/JwtTokenManager.class]: Instantiation of bean failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [com.alibaba.nacos.plugin.auth.impl.token.impl.JwtTokenManager]: Constructor threw exception; nested exception is java.lang.IllegalArgumentException: the length of secret key must great than or equal 32 bytes; And the secret key  must be encoded by base64.Please see https://nacos.io/zh-cn/docs/v2/guide/user/auth.html

貌似开启权限认证了,然后我检查我的properties里,关于权限认证的参数,都是false。为啥还非要设置secret key,但是在错误的最后,提醒更多错误相关信息去Authorization (nacos.io)https://nacos.io/zh-cn/docs/v2/guide/user/auth.html看。打开指定网页,发现有一个注意点

 我的版本号正是2.2.1,所以按照文档指出的,增加了key,并且key使用Base64位编码

配置文件修改如下:

 nacos.core.auth.plugin.nacos.token.secret.key==VGhpc0lzTXlDdXN0b21TZWNyZXRLZXkwMTIzNDU2Nzg=

7、启动服务,成功了

 8、访问本地地址:http://localhost:8848/nacos

登录的账号密码都是nacos

9、启动本地业务服务,希望注册到nacos上供其他服务调用

1)访问http://localhost:8848/nacos,进入的网站,增加一个命名空间,点击创建命名空间,下面是我创建的。

 2)增加配置文件,当然也可以不使用nacos做配置中心,而只用来做服务注册和发现的管理中心,我增加的配置文件如下:

点开其中一个文件,比如最后一个,查看详情,里面重要的一段,关于nacos客户端,也就是注册上来的服务,和nacos管理平台之间的纽带,就是这里配置的

spring:
  shardingsphere:
    enabled: false
  cloud:
    nacos:
      discovery:
        server-addr: 1**.1**.***.***:8848
        namespace: 8c1ea7e1-d45f-4605-9148-55dc305057c6
        group: DEFAULT_GROUP

注意点:此处需要注意命名空间的名字,即第一步创建的命名空间用来管理注册的服务和配置文件。所以命名空间需要和注册上来的服务的配置文件的注册空间一致,比如下面代码是我注册上来的服务在本地环境的配置文件:这里的nacos的server-addr和namespace和nacos管理平台地址,命名空间一致。

server:
  port: 18081
spring:
  application:
    name: data-shadow
  main:
    #多个FeignClient对应一个value
    allow-bean-definition-overriding: true
  cloud:
    nacos:
      config:
        server-addr: 1**.**.**1.**:8848
        namespace: 8c1ea7e1-d45f-4605-9148-55dc305057c6
        group: DEFAULT_GROUP
        file-extension: yml
        shared-configs[0]:
          data-id: data-shadow-common.yml
          group: DEFAULT_GROUP
          refresh: true

3)配置应用服务的nacos

server:
  port: 18081
spring:
  application:
    name: data-shadow
  main:
    #多个FeignClient对应一个value
    allow-bean-definition-overriding: true
  cloud:
    nacos:
      config:
        server-addr: ***.***.***.***:8848
        namespace: 8c1ea7e1-d45f-4605-9148-55dc305057c6
        group: DEFAULT_GROUP
        file-extension: yml
        shared-configs[0]:
          data-id: data-shadow-common.yml
          group: DEFAULT_GROUP
          refresh: true

4)启动本地业务服务,然后观察,在nacos的服务管理里是否有自己注册上来的服务了。

我的已经注册上来了:

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

windows环境下启动和配置nacos最全流程 的相关文章

  • 将处理项目移至 Eclipse

    我已经在处理项目上工作了一段时间 现在想将其移至 Eclipse 中 我已经在 Eclipse 环境中安装了 Proclipse 我有很多扩展名为 pde 的文件 然而 Proclipse 文件都以 java 结尾 所有 pde 文件都存在
  • java 中的梵文 i18n

    我正在尝试使用来自互联网的示例 ttf 文件在 java 中使用 i18n 进行梵文 印地文 我可以加载资源包条目 还可以加载 ttf 并设置字体 但它不会根据需要呈现 jlabel 它显示块代替字符 如果我在 Eclipse 中调试 我可
  • 垂直 ViewPager 中的动画

    我需要垂直制作这个动画ViewPager https www youtube com watch v wuE 4jjnp3g https www youtube com watch v wuE 4jjnp3g 这是我到目前为止所尝试的 vi
  • Java 小程序在 Mac 上闪烁

    这个问题很奇怪 问题并非在每个平台上都会发生 我在使用 MacOSX 的 Google Chrome 中出现了这种情况 但在 Safari 中却没有出现这种情况 对于使用 Windows 的朋友来说 在 Google Chrome 上运行得
  • Maven WebApp META-INF context.xml

    我正在使用 Maven 3 并且尝试在 webapp 文件夹下添加 META INF 文件夹 所以我正在尝试执行以下操作 src main webapp META INF context xml WEB INF 下面是我的 POM 文件
  • 对对象集合进行排序[重复]

    这个问题在这里已经有答案了 如果我有一个简单的字符串列表 List
  • Java 中如何验证字符串的格式是否正确

    我目前正在用 Java 编写一个验证方法来检查字符串是否是要更改为日期的几种不同格式之一 我希望它接受的格式如下 MM DD YY M DD YY MM D YY 和 M D YY 我正在测试第一种格式 每次它都告诉我它无效 即使我输入了有
  • 从 CLI 部署 Maven 项目?

    在 IDE 中构建并运行良好 cd home thufir NetBeansProjects HelloMaven JAVA HOME usr lib jvm java 8 openjdk amd64 home thufir local s
  • 是否可以手动检查 LocateRegistry 是否存在?

    I 已经发现 https stackoverflow com a 8338852 897090一种安全的方式获得LocateRegistry 即使注册表尚不存在 Registry registry null try registry Loc
  • Time.valueOf 方法返回错误值

    我使用 Time valueOf 方法将字符串 09 00 00 转换为 Time 对象 如下所示 Time valueOf LocalTime parse 09 00 00 当我调用 getTime 来显示我得到的值时 28800000
  • 如何使用 Java 在 selenium webdriver 中打开新选项卡或如何使用使用 selenium webdriver 的操作类在 selenium 中按 ctrl +T [重复]

    这个问题在这里已经有答案了 如何使用 Java 在 Selenium Webdriver 中按 CTRL T 或者 如何使用 Java 在 selenium webdriver 中打开新选项卡 简单步骤 1 打开google com 不必触
  • JPA Web 应用程序管理策略

    我们目前正在开发一个 J2EE Web 应用程序 使用 JPA 作为我们的数据访问层 我们目前正在研究几种不同的策略来在我们的应用程序中利用缓存 Create an EntityManager per request 在请求范围内获取缓存
  • 获取 Future 对象的进度的能力

    参考 java util concurrent 包和 Future 接口 我注意到 除非我弄错了 只有 SwingWorker 实现类才能启动冗长的任务并能够查询进度 这就引出了以下问题 有没有办法在非 GUI 非 Swing 应用程序 映
  • 无法连接到docker中的elasticsearch容器

    我正在尝试使用 docker 的官方 elasticsearch 镜像 我遵循了本指南 https www elastic co guide en elasticsearch reference current docker html但是当
  • 开发者环境-如何调用/消费其他微服务

    背景 我的环境 Java Play2 MySql 我在 Play2 gt S1 S2 S3 上编写了 3 个无状态 Restful 微服务 S1 消耗来自 S2 和 S3 的数据 因此 当用户点击 S1 时 该服务会异步调用 S2 S3 合
  • 使用 Swagger 的 Spring REST API 文档 [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我正在寻找一个可以帮助我生成 RESTful API 文档的工具 我的服务器是用Java编写的并使用S
  • 如何使用eclipse调试JSP tomcat服务?

    我想使用 Eclipse IDE 调试器来调试单独运行的 JSP Struts Tomcat Hibernate 应用程序堆栈 如何设置 java JVM 和 eclipse 以便设置断点 监视变量值并查看当前正在执行的代码 我刚刚用谷歌搜
  • java Web应用程序中的日期转换

    String date1 13 03 2014 16 56 46 AEDT SimpleDateFormat sdf new SimpleDateFormat dd MM yyyy HH mm ss z sdf setTimeZone Ti
  • 从 InputStream 中删除换行符

    我喜欢从一个文件中删除所有换行符 对于 n 和 r n java io InputStream 在读取文件时 相应的方法如下所示 param target linkplain File return linkplain InputStrea
  • 如何使用socket.io发送图像文件(二进制数据)?

    我无法从以下位置发送数据Android Client to NodeJS Server I use Socket IO 客户端 https github com socketio socket io client java我的客户端中的ja

随机推荐

  • Mysql 统计最近七天内的数据并分组

    己做项目 想要做有关管理页面的相关报表 其中有一张图表 采用折线图的方式 表示用户增减趋势 显示最近七天内 每天的用户新增数量 第一步 查询一定范围内的数据 数量 查询最近一天的数据 select from table where to d
  • 智能合约部署Error: exceeds block gas limit undefined

    在学习区块链时 我们按照某些文章的教程 使用 Browser solidity 在 Go Ethereum上进行智能合约部署时 可能会出现Error exceeds block gas limit undefined的报错信息 表示当前合约
  • GitLab服务器修改管理员用户root密码

    我们搭建好GitLab服务 打开页面后 需要输入用户名密码 但它们是什么呢 初始管理员用户为root 密码在安装过程中已随机生成并保存在 etc gitlab initial root password中 有效期24小时 我们可以自己去查找
  • 【知网研学】使用方法

    目录 前言 一 下载知网研学途径 二 使用步骤 1 导入文档 2 论文内笔记标记 3 对论文内容复制 说明 前言 注 本文对 知网研学 该软件的使用方法包括下载 导入文档 编辑论文等的详细解说 一 下载知网研学途径 1 浏览器搜索进行下载
  • 入门FFmpeg编程 --Android

    1 前言 FFmpeg是一个强大的音视频处理库 但是通常接触时以命令形式较多 本篇文章讲了FFmpeg相关api的使用 尤其是它强大的过滤器filter库的使用 1 1 能学到什么 Android下集成FFmpeg 使用avcodec解码库
  • 如何辨别ChatGPT是不是真的

    随着ChatGPT爆红 国内陆续出现了几个所谓的 ChatGPT 反向代理站点 乍一试回答似乎还挺靠谱 但它们真的是ChatGPT吗 本文以其中一个站点为例 对其真伪进行辨别 其实最多只需要问两个问题 基本上就可以做出判断了 1 你是谁 2
  • 为什么说区块链共享的不仅仅是数据?

    数据共享是人与生俱来的需求 比如 在咖啡馆谈人生理想 执笔书写文字等等 这些都是普通人用来和他人交流信息的重要方式 互联网的出现 打破了数据共享在地域和时间方面的限制 它可以让不同人在地球的不同位置进行即时交流 电子邮件 网上即时通讯等技术
  • 单片机及C语言入门

    一 什么是单片机 将CPU芯片 存储器芯片 I O接口芯片和简单的I O设备 小键盘 LED显示器 等装配在一块印刷电路板上 再配上监控程序 固化在ROM中 就构成了一台单片微型计算机 简称单片机 由于单片机在使用时 通常处于测控系统的核心
  • go+gSoap+onvif学习总结:7、进行镜头调焦、聚焦和预置点的增删改查

    cgo gSoap onvif学习总结 7 进行镜头调焦 聚焦和预置点的增删改查 文章目录 cgo gSoap onvif学习总结 7 进行镜头调焦 聚焦和预置点的增删改查 1 前言 2 gSoap生成c代码框架 3 完成c代码实例并测试
  • 接口测试小知识

    1 什么是接口 电脑 USB 投影仪等 数据传输 软件 统称为API application program interface 支付宝支付 微信提现和充值 银联支付接口 鉴权码 token key appkey 接口包括 内部接口和外部接
  • deblurGAN-v2 去模糊深度学习算法。

    https blog csdn net weixin 42784951 article details 100168882 论文 https arxiv org pdf 1908 03826 pdf 代码 https github com
  • 算法基础课:第二讲——数据结构

    文章目录 单链表 算法思想 注意点 模板 例题 AC代码 双链表 算法思想 注意点 模板 例题 AC代码 栈 算法思想 模板 例题 AC代码 队列 算法思想 模板 例题 AC代码 单调栈 作用 算法思想 模板 例题 AC代码 单调队列 作用
  • Java中灵活获取excel中的数据

    在java当中获取excel数据 获取每一列数据 每一行数据 在这里例子是将每一行数据获取出来 并带着表头数据返回 代码 具体实现逻辑在代码注释当中可以参见 public static List
  • 杨桃的Python进阶讲座16——数组array(六)一维数组和二维数组的索引和取值(配详细图解)

    本人CSDN博客专栏 https blog csdn net yty 7 Github地址 https github com yot777 在进阶讲座8中讲过数组 矩阵 的维度 我们再看看多维矩阵的索引和取值方法 一维数组的索引和取值 和列
  • C语言计算两个整数之和

    要求输入2个整数A和B 然后输出它们的和 输入格式 输入在一行中给出整数A和B 输出格式 输出A B的值 输入样例 在这里给出一组输入 例如 3 5 结尾无空行 输出样例 在这里给出相应的输出 例如 8 结尾无空行 include
  • 简析 JavaScript报错 Uncaught TypeError Cannot read properties of null (reading ‘...‘) at new

    JS报错 如下图 报错原因 引入JS的位置错误 为什么位置错误 JS 在页面渲染 生成 之前就执行了代码 发现获取不到页面元素 解决方法 放到页面代码下面 body内部或者下部 随意吧
  • Python爬虫从0到1(完结篇)——增量式爬虫

    本篇是基础爬虫专栏的最后一篇文章 有关进阶爬虫技术的内容现已开始更新 但不会每一篇都会在此处发布 有需要的可直接加群了解 废话不多说 直接进入今天的文章内容 增量式爬虫 基本定义 增量式爬虫就是一个能够在网站原有数据的基础上采集最新公开的一
  • 玩转Java IO流:轻松读写文件、网络

    申明 本人于公众号Java筑基期 CSDN先后发当前文章 标明原创 转载二次发文请注明转载公众号 另外请不要再标原创 注意违规 字符流和字节流 在Java中 IO 输入输出 操作涉及字符流和字节流 它们是两种不同的抽象类 用于处理不同类型的
  • Head Pose系列

    BIWI数据集 下载kinect head pose db tgz 解压如下 hpdb 01 depth cal rgb cal frame 00003 depth bin frame 00003 pose txt frame 00003
  • windows环境下启动和配置nacos最全流程

    一直在用nacos 作为配置中心和服务管理中心 但是nacos服务自己没有部署过 在看了nacos的架构以后 自己决定动手部署下 官网上提供了linux window docker环境部署文档 感觉很简单 按照文档操作一遍发现 启动不了 后