首页
归档
留言
广告合作
友链
美女主播
Search
1
博瑞GE车机升级/降级
5,146 阅读
2
Mac打印机设置黑白打印
4,517 阅读
3
修改elementUI中el-table树形结构图标
4,516 阅读
4
Mac客户端添加腾讯企业邮箱方法
4,351 阅读
5
intelliJ Idea 2022.2.X破解
4,060 阅读
Java
HarmonyOS Next
Web前端
微信开发
开发辅助
App开发
数据库
随笔日记
登录
/
注册
Search
标签搜索
Spring Boot
Java
Spring Cloud
Mac
mybatis
WordPress
Nacos
Spring Cloud Alibaba
Mybatis-Plus
jQuery
Java Script
asp.net
微信小程序
Sentinel
UniApp
MySQL
asp.net core
IntelliJ IDEA
Jpa
树莓派
Laughing
累计撰写
570
篇文章
累计收到
1,424
条评论
首页
栏目
Java
HarmonyOS Next
Web前端
微信开发
开发辅助
App开发
数据库
随笔日记
页面
归档
留言
广告合作
友链
美女主播
搜索到
44
篇与
的结果
2021-09-12
BigSur 提示没有权限打开XX,请联系管理员
安装HomeBrew如果安装报错或者不会安装,可以参考https://www.xiangcaowuyu.net/devtools/mac-brew-installation-latest-tutorial-absolutely-feasible-one-line-of-code-no-error.html安装upx打开终端,执行以下操作brew install upx进行upx的权限脱壳操作sudo upx -d 文件路径 比如我的是sudo upx -d /Applications/ForkLift.app 输入密码,然后回车
2021年09月12日
1,778 阅读
0 评论
1 点赞
2021-09-11
Mac 安装 brew(最新教程,绝对可行,一行代码搞定,不报错)
自动脚本(全部国内地址)(在Mac os终端中复制粘贴回车下面这句话),无需梯子/bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"
2021年09月11日
1,031 阅读
0 评论
0 点赞
2021-07-27
idea无法访问WSL中Nacos的解决办法
最近在搞微服务的东西,所以在我笔记本上安装了一个WSL(Ubuntu 20.0.4),其实体验还好,只是在网络访问上面遇到了一些问题。一般情况下,我们访问WSL系统的东西时,通过localhost:port的形式即可。比如nginx通过localhost便能正常打开。但是安装Nacos后,通过浏览器能够正常打开,如下图但是,在idea中调用时,一直访问不通。 [typing]解决办法[/typing] 想着参考集群部署的思路,通过nginx,将1111端口转发到了8848端口,便能正常访问了。修改nginx配置文件,在server节点同级增加以下内容upstream cluster{ server localhost:8848 weight=1; } server { listen 1111; server_name localhost; #charset koi8-r; #access_log logs/host.access.log main; location / { proxy_pass http://cluster; } #error_page 404 /404.html; # redirect server error pages to the static page /50x.html # error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } # proxy the PHP scripts to Apache listening on 127.0.0.1:80 # #location ~ \.php$ { # proxy_pass http://127.0.0.1; #} # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000 # #location ~ \.php$ { # root html; # fastcgi_pass 127.0.0.1:9000; # fastcgi_index index.php; # fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name; # include fastcgi_params; #} # deny access to .htaccess files, if Apache's document root # concurs with nginx's one # #location ~ /\.ht { # deny all; #} }然后重启nginx修改项目nacos端口,发现能够成功调用了。
2021年07月27日
2,138 阅读
0 评论
0 点赞
2021-07-26
wsl ubuntu 20.0.4安装MySql 5.7
安装依次执行以下命令:sudo apt update sudo apt upgrade sudo apt install libaio1 libtinfo5 libmecab2 libjson-perl python2 python2.7 wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-server_5.7.31-1ubuntu18.04_amd64.deb-bundle.tar tar xvf mysql-server_5.7.31-1ubuntu18.04_amd64.deb-bundle.tar rm -f mysql-testsuite_5.7.31-1ubuntu18.04_amd64.deb rm -f mysql-community-test_5.7.31-1ubuntu18.04_amd64.deb sudo dpkg -i mysql-common_5.7.31-1ubuntu18.04_amd64.deb sudo dpkg -i lib*.deb sudo dpkg -i mysql-*.deb然后输入root密码启动MySqlservice mysql start修改远程登录sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf重启服务service mysql restart使用DataGrip登录
2021年07月26日
1,126 阅读
0 评论
0 点赞
2021-07-26
Nacos集群配置
Netflix组件移除说明Netflix公司是目前微服务落地中最成功的公司。它开源了诸如Eureka、Hystrix、Zuul、Feign、Ribbon等等广大开发者所知微服务套件,统称为Netflix OSS。在当时Netflix OSS成为微服务组件上事实的标准。但是微服务兴起不久,也就是在 2018 年前后Netflix公司宣布其核心组件Hystrix、Ribbon、Zuul、Eureka等进入维护状态,不再进行新特性开发,只修 BUG。这直接影响了Spring Cloud项目的发展路线,Spring 官方不得不采取了应对措施,在 2019 年的在 SpringOne 2019 大会中,Spring Cloud宣布 Spring Cloud Netflix 项目进入维护模式,并在 2020 年移除相关的Netflix OSS组件。什么是 Nacos?阿里巴巴在2018年7月份发布Nacos, Nacos是一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。Nacos 支持几乎所有主流类型的服务的发现、配置和管理。Nacos集群及配置前置条件MySql 5.X版本JDK 1.8nginx创建MySql数据库创建一个名称为nacos_config的数据库,然后执行以下数据库预置脚本。/* * Copyright 1999-2018 Alibaba Group Holding Ltd. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ /******************************************/ /* 数据库全名 = nacos_config */ /* 表名称 = config_info */ /******************************************/ 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');此脚本sql位于Nacos的conf文件夹下:nacos-mysql.sql修改application.properties文件修改conf/application.properties文件,修改MySQL信息及端口。由于我们演示三个集群,位于一个服务器,所以需要三个端口号,我这里分别设置为3333、4444、5555。server.port=3333 #*************** Config Module Related Configurations ***************# ### If use MySQL as datasource: spring.datasource.platform=mysql ### Count of DB: db.num=1 ### Connect URL of DB: db.url.0=jdbc:mysql://127.0.0.1:3306/nacos_config?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC db.user=root db.password=root修改cluster.conf我们这里要三个进行集群,所以输入以下信息localhost:3333 localhost:4444 localhost:5555修改另外两个Nacos我这里复制我刚才修改后的Nacos,然后打开application.properties,将端口号分别修改为4444、5555。测试分别进去三个Nacos的bin文件夹,执行 ./startup.sh -m cluster打开http://localhost:3333/nacos,查看节点列表配置nginx启动三台Nacos后,我们需要配置Nginx进行端口转发,我这里Nginx使用1111端口。打开nginx配置文件vi nginx.conf增加以下内容upstream cluster{ server localhost:3333 weight=1; server localhost:4444 weight=1; server localhost:5555 weight=1; } server { listen 1111; server_name localhost; #charset koi8-r; #access_log logs/host.access.log main; location / { proxy_pass http://cluster; } #error_page 404 /404.html; # redirect server error pages to the static page /50x.html # error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } # proxy the PHP scripts to Apache listening on 127.0.0.1:80 # #location ~ \.php$ { # proxy_pass http://127.0.0.1; #} # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000 # #location ~ \.php$ { # root html; # fastcgi_pass 127.0.0.1:9000; # fastcgi_index index.php; # fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name; # include fastcgi_params; #} # deny access to .htaccess files, if Apache's document root # concurs with nginx's one # #location ~ /\.ht { # deny all; #} }重启nginxnginx -s reload进入http://localhost:1111/nacos,查看节点至此,Nacos集群配置完成。
2021年07月26日
1,440 阅读
0 评论
2 点赞
2021-05-17
linux zookeeper安装及使用
下载zookeeper从官网下载zookeeper上传并解压将tar.gz文件上传到服务器,执行以下命令解压tar -zxvf apache-zookeeper-3.7.0-bin.tar.gz修改配置文件进入apache-zookeeper-3.7.0-bin下的conf文件夹,将zoo_sample.cfg修改为zoo.cfg启动进入bin文件夹,执行以下命令./zkServer.sh start
2021年05月17日
967 阅读
0 评论
2 点赞
2021-05-12
leeframe开源快速开发平台
平台简介本平台基于若依前后端分离项目,若依项目开源地址:https://gitee.com/y_project/RuoYi-Vueleeframe依托于若依前后端分离项目,同时结合自己项目中的实践及其他基于若依的扩展项目,对若依项目重新进行了封装。项目地址:https://gitee.com/lisen0629/lee-frame[tag type="danger"]由于目前尚未封装完成,所以暂时没有开源,待封装完成后进行开源[/tag]框架说明前端采用Vue、Element UI。后端采用Spring Boot、Spring Security、Redis & Jwt。权限认证使用Jwt,支持多终端认证系统。支持加载动态权限菜单,多方式轻松权限控制。高效率开发,使用代码生成器可以一键生成前后端代码。内置功能用户管理:用户是系统操作者,该功能主要完成系统用户配置。部门管理:配置系统组织机构(公司、部门、小组),树结构展现支持数据权限。岗位管理:配置系统用户所属担任职务。菜单管理:配置系统菜单,操作权限,按钮权限标识等。角色管理:角色菜单权限分配、设置角色按机构进行数据范围权限划分。字典管理:对系统中经常使用的一些较为固定的数据进行维护。参数管理:对系统动态配置常用参数。通知公告:系统通知公告信息发布维护。操作日志:系统正常操作日志记录和查询;系统异常信息日志记录和查询。登录日志:系统登录日志记录查询包含登录异常。在线用户:当前系统中活跃用户状态监控。定时任务:在线(添加、修改、删除)任务调度包含执行结果日志。代码生成:前后端代码的生成(java、html、xml、sql)支持CRUD下载 。系统接口:根据业务代码自动生成相关的api接口文档。服务监控:监视当前系统CPU、内存、磁盘、堆栈等相关信息。缓存监控:对系统的缓存信息查询,命令统计等。在线构建器:拖动表单元素生成相应的HTML代码。连接池监视:监视当前系统数据库连接池状态,可进行分析SQL找出系统性能瓶颈。leeframe封装点集成mybatis-plus,使用更加方便。修改数据库默认主键,主键生成方式改成雪花算法。集成租户功能,支持超级管理员及企业管理员级别的权限分配。租户通过org_code进行数据隔离。数据新增时,通过拦截器自动设置当前用户对应的租户的org_code。集成mybatis-plus逻辑删除功能,数据库表需要预置del_flag字段,N代表未删除,Y代表已删除。调整前端显示样式,统一启用、停用、删除的提示语。修复el-table列不对齐的问题。创建人、修改人字段改成主键,并通过mybatis-plus拦截器自动设置对应的值。项目下一步计划替换框架中已有的mybatis写的sql。扩展代码生成功能。版本说明[timeline] [timeline-item]v1.0-2021年5月12集成多租户管理功能。集成mybatis-plus。统一前端样式。登录页面替换滑块验证。[/timeline-item] [timeline-item]v2.0-2021年5月19日替换el-tree及el-table表格树的图标[/timeline-item][/timeline]
2021年05月12日
2,618 阅读
2 评论
6 点赞
2021-04-30
Sonar基础使用系列文章
[btn href="https://www.xiangcaowuyu.net/devtools/sonar-automated-test-1-introduction-to-sonar.html" type="default"]sonar自动化测试一:sonar简介[/btn][btn href="https://www.xiangcaowuyu.net/devtools/sonar-automation-test-2-installation-of-sonarqube-server.html" type="primary"]sonar自动化测试二:SonarQube服务端安装[/btn][btn href="https://www.xiangcaowuyu.net/devtools/sonar-automation-test-3-installation-and-configuration-of-sonarscanner.html" type="success"]sonar自动化测试三:SonarScanner安装配置[/btn][btn href="https://www.xiangcaowuyu.net/devtools/sonar-automated-test-4-using-sonarscanner.html" type="info"]sonar自动化测试四:SonarScanner使用[/btn]
2021年04月30日
1,302 阅读
1 评论
1 点赞
2021-04-30
sonar自动化测试四:SonarScanner使用
创建配置文件进入到待测试的项目根目录,新建sonar-project.properties文件: 输入命令vi sonar-project.properties,进行文本编辑模式。增加如下配置,其中:sonar.projectName是项目名字,sonar.sources是源文件所在的目录# must be unique in a given SonarQube instance sonar.projectKey=my:intelligence-operations-system # this is the name displayed in the SonarQube UI sonar.projectName= intelligence-operations-system sonar.projectVersion=1.0 # Path is relative to the sonar-project.properties file. Replace "\" by "/" on Windows. # Since SonarQube 4.2, this property is optional if sonar.modules is set. # If not set, SonarQube starts looking for source code from the directory containing # the sonar-project.properties file. sonar.sources= src/main/java # Encoding of the source code. Default is default system encoding #sonar.sourceEncoding=UTF-8 #path to your project build output path sonar.java.binaries=target/classes使用打开终端,进入待测试项目根目录,执行命令:sonar-scanner查看后台任务打开SonarQube,在浏览器打开http://localhost:9000,即可看见正在分析中的后台任务
2021年04月30日
1,086 阅读
0 评论
1 点赞
2021-04-30
sonar自动化测试三:SonarScanner安装配置
配置环境变量以下以Mac系统为例介绍,Win或Linux请具体配置对应的环境变量。首先进入bash.profile文件,输入命令 vi ~/.bash_profile,进行编辑文本模式。配置sonar_scanner_home、path(路径换成你的sonarqube与sonar-scanner文件所在的绝对路径),以我的为例:export SONAR_SCANNER_HOME=/Users/laughing/Downloads/sonar-scanner-4.6.0.2311-macosx export PATH=$PATH:$SONAR_SCANNER_HOME/bin退出文本编辑模式(按Esc,输入:wq),配置生效执行命令: source ~/.bash_profile使配置立即生效测试sonar-scanner是否安装成功输入命令:sonar-scanner -v
2021年04月30日
1,030 阅读
0 评论
0 点赞
2021-04-30
sonar自动化测试二:SonarQube服务端安装
准备工作jdk(请自行安装JDK1.8或以上版本)sonarqube(建议下载7.9以下版本):http://www.sonarqube.org/downloads/SonarQube+Scanner:https://docs.sonarqube.org/latest/analysis/scan/sonarscanner/mysql数据库(请自行安装MySQL 5.7以上及8.0以下版本)启动SonarQube进入SonarQube目录cd /Downloads/sonarqube-7.8/bin/macosx-universal-64[tag type="danger"]不同操作系统,请进入bin的不同目录下[/tag]执行以下命令启动./sonar.sh start测试配置是否成功启动浏览器,访问http://localhost:9000,如果显示下面页面代表配置成功配置数据库打开mysql,新建一个数据库。打开sonarqube安装目录下的conf/sonar.properties文件配置认证信息,username和password为MySQL的用户名密码sonar.jdbc.username=sonar sonar.jdbc.password=sonar在mysql5.X节点下输入以下信息sonar.jdbc.url=jdbc:mysql://dotnetcore.com.cn:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance&useSSL=false重启sonarqube服务./sonar.sh restart再次访问http://localhost:9000,会稍微有点慢,因为要初始化数据库信息数据库初始化成功后,登录默认用户名和密码是admin;admin安装中文插件进入系统,依次选择,Administration -> Marketplace→输入“chinese”,找到“Chinese Pack”,点击“install”安装插件安装完成后,重新登录,界面即显示中文
2021年04月30日
1,179 阅读
0 评论
0 点赞
2021-04-30
sonar自动化测试一:sonar简介
[card-default width="卡片宽度" label="SonarQube"]SonarQube(sonar)是一个开源平台,用于管理源代码的质量。 SonarQube不只是一个质量数据报告工具,更是代码质量管理平台。 支持java, C#, C/C++, PL/SQL, Cobol, JavaScrip, Groovy 等等二十几种编程语言的代码质量管理与检测。 SonarQube可以从以下七个维度检测代码质量,而作为开发人员至少需要处理前5种代码质量问题。[/card-default]不遵循代码标准SonarQube可以通过PMD,CheckStyle,Findbugs等等代码规则检测工具规范代码编写。潜在的缺陷SonarQube可以通过PMD,CheckStyle,Findbugs等等代码规则检测工具检测出潜在的缺陷。糟糕的复杂度分布文件、类、方法等,如果复杂度过高将难以改变,这会使得开发人员难以理解它们,且如果没有自动化的单元测试,对于程序中的任何组件的改变都将可能导致需要全面的回归测试。重复显然程序中包含大量复制粘贴的代码是质量低下的,SonarQube可以展示源码中重复严重的地方。注释不足或者过多没有注释将使代码可读性变差,特别是当不可避免地出现人员变动时,程序的可读性将大幅下降 而过多的注释又会使得开发人员将精力过多地花费在阅读注释上,亦违背初衷。缺乏单元测试SonarQube可以很方便地统计并展示单元测试覆盖率。糟糕的设计通过SonarQube可以找出循环,展示包与包、类与类之间的相互依赖关系,可以检测自定义的架构规则。通过SonarQube可以管理第三方的jar包,可以利用LCOM4检测单个任务规则的应用情况, 检测耦合。
2021年04月30日
1,108 阅读
0 评论
0 点赞
1
2
3
4