title: 各种工具的问题和解决办法
date: 2019-12-01 15:27:02
tags: [解决办法,工具软件]
categories: “problem solution”
copyright: true
devc++中文乱码
是因为dev采用ANCI编码,不是用UTF-8编码
解决办法:
- 用notpadc++打开,选择ANCI编码。
- 直接在dev中编辑
dev中斜杠报错
是不支持c++注释语法,误点击编辑器选项
解决办法:将支持所有ANCI标准设置为NO
%}
hexo中出现的中文乱码现象
第一步: 首先找到根目录下_config.yml文件,将langue字段设为zh-Hans或者zh-CN(简体中文),具体何种类型取决于theme主题中source文件中的language文件夹中有何种语言文件。
第二步: 出现乱码可能是因为用记事本编辑没有使用UTF-8编码,解决办法:下载文本编辑器(例如sublime)进行编辑。
第三步: 点击sublime中file下的save with Encoding,选择UTF-8,
直接点击save可能会出现警告.
hexo的图片上传
在根目录下建立与文章同名的文件夹,将图片放进去引用即可,或者用网络地址引用
图标点击显示找不到页面。
第一步:打开主题目录设置文件,找到menu
第二步:将每个图标斜杠/后的空格删去。
文章添加多个tags
不能直接在tags标签后用空格隔开标签,应该用方括号中间用逗号隔开,
否则会出现文章无法上传的问题。
hexo页面上传
- 标签和其他页面的格式要符合hexo的表准,单个标签用双引号,多个用方括号,中间不用双引号,否则页面无法上传。
MySQL
- navicat 10061(MySQL服务未开启,无法连接到数据库),是由于再金山毒霸里开启了开机加速,导致MySQL被禁止开机自启动,取消限制后任然没有作用,就可以通过手动启动来解决。
- win + R启动运行程序,输入services.msc
- 找到mysql服务打开即可
复制代码时会有大量?号或者其他乱码太多不好删除
用ctrl+f,利用替换,选择范围从头开始而不是从当前光标开始,将乱码替换为空格,比用手更快捷
IDEA导入文件
一种是直接将文件移动到project目录下,另一种是拖动到IDEA界面中,自动移动
servlet无法部署
- 这是因为tomcat的版本一定要和jdk版本对应,不然就会报错,一般用default项目默认的jdk不会报错,但是万一仍然报错,就可以手动添加与tomcat相适应的jdk版本路径
我这里的是1.8版本,路径看自己放在那里,可以百度cmd命令查找
servlet访问资源不到
- 这里是因为在部署好的war包里可以更改虚拟目录,教程是默认目录,而我的IDEA是自动项目名加war命名的,因此直接访问资源是不行的,但是项目多时,推荐
使用IDEA的默认方法,这样好区分。
这里访问资源时就要加上红线部分的虚拟目录
maven使用mvn -v命令显示不是内部或外部命令
- 确定maven的环境变量配置完成后,将maven下的bin命令加载path的%MAVEN_HOME%\bin之后作为补充路径
maven下载依赖包速度慢
- 使用镜像
在pom.xml中添加maven依赖包时,使用阿里的maven镜像就可以了
如果已经下载了一半退出,那就要先将c盘中user(用户)中的.m2文件删除,再在右键项目选中maven选项,然后选择“open settings.xml”或者 “create settings.xml”,然后把如下代码粘贴进去就可以了。重启IDE。(要将原来的内容覆盖掉)。
复制代码
<?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">
<mirrors>
<!-- mirror
| Specifies a repository mirror site to use instead of a given repository. The repository that
| this mirror serves has an ID that matches the mirrorOf element of this mirror. IDs are used
| for inheritance and direct lookup purposes, and must be unique across the set of mirrors.
|
<mirror>
<id>mirrorId</id>
<mirrorOf>repositoryId</mirrorOf>
<name>Human Readable Name for this Mirror.</name>
<url>http://my.repository.com/repo/path</url>
</mirror>
-->
<mirror>
<id>alimaven</id>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
<mirrorOf>central</mirrorOf>
</mirror>
<mirror>
<id>uk</id>
<mirrorOf>central</mirrorOf>
<name>Human Readable Name for this Mirror.</name>
<url>http://uk.maven.org/maven2/</url>
</mirror>
<mirror>
<id>CN</id>
<name>OSChina Central</name>
<url>http://maven.oschina.net/content/groups/public/</url>
<mirrorOf>central</mirrorOf>
</mirror>
<mirror>
<id>nexus</id>
<name>internal nexus repository</name>
<!-- <url>http://192.168.1.100:8081/nexus/content/groups/public/</url>-->
<url>http://repo.maven.apache.org/maven2</url>
<mirrorOf>central</mirrorOf>
</mirror>
</mirrors>
</settings>
- 如果有需要联网的依赖包需要下载,可以到官网上找到所需的包的信息,将其复制到xml中即可,(注意,使用框架搭建好webapp后,标签已经创建好了,不需要再额外创建)
将其粘贴到pom.xml中的中
44.有时会无法打包,这时就可以在设置中点击确保java的编译版本和项目用的版本相符
45.终于提交上去了coding,其他都对但是卡在了用户名和密码还有仓库地址这块,用户名不是注册时填的昵称,而是注册时的手机号和邮箱,还有一个地方就是仓库地址,这个等会在看一看,今天在看会git命令。
但是还有一个问题,网上的资料资料已经过时了,现在好像coding的仓库地址是以e.coding.net开始的,而好多老的资料还是git.coding.net,注意踩坑.
46.springboot的启动类必须放在cs.cuit报下,和其他模块包是同级关系而不是父子关系,不然会出错。
47.使用EasyExcel时候,命名必须使用小驼峰原则,否则会出现字段为空的情况。
48.pta上面的题里面的static和非static的关系,得再考虑考虑,scanner重复创建问题
hexo博客迁移到gitee
- 该篇仅限于已经在github上部署博客,不适用于从头搭建博客。
- 参考文章看,网上其他文章都是从头搭建的,不符合,这篇文章是最符合的,原因在于其他使用的不是以自己的个人空间名作为博客地址,而是以blog作为自己的博客地址,这样就会产生二级目录,就要在_config.yml中url中配置,但是我之前在github中配置过了,但是使用的是个人空间作为博客地址,因此网上的设置仓库名的方法是不适用的,这样只要修改url为项目地址(在克隆和下载处),root只要写/即可。就可以部署了
- 提交到仓库之后还要进行手动部署(在项目的服务->coding pages服务),点击更新,就可以部署了。
将hexo博客迁移至新电脑上
- 迁移具体教程可以看我之前的收藏,但是有一个图片的问题不能解决
- 具体原因可能是因为hexo升级到3之后对插件的支持出了一些问题,使得用markdown方法引入本地图片失败,解决办法就是使用图片路径转换插件,写图片引用的时候不能在写
![]()
这样的markdown语法了,而是插件的语法,{% asset_img 你的图片名称(带后缀) %},但是这样在vscode中就不能预览了 - 重新配置主题时可能发现有一些功能失效了,怎么改都没用,不要慌,很大可能是没有安装相关的插件。重新安装就可以
在vscode中运行c语言
- 终端和控制台会输出乱码,因为vscode默认是用utf-8编码,而windows默认gbk,会产生乱码,可以通过右下角的编码格式进行更改,而不需要通过settins.json来配置。
idea插件
- 推荐几款有用的插件,特别是翻译插件,在看源码文档时非常有用。 看这里
poi的使用
/*Jakarta POI HSSF API组件
HSSF(用于操作Excel的组件)提供给用户使用的对象在rg.apache.poi.hssf.usermodel包中,主要部分包括Excel对象、样式和格式,还有辅助操作。有以下几种对象:
常用组件:
HSSFWorkbook excel的文档对象
HSSFSheet excel的表单
HSSFRow excel的行
HSSFCell excel的格子单元
HSSFFont excel字体
HSSFDataFormat 日期格式
HSSFHeader sheet头
HSSFFooter sheet尾(只有打印的时候才能看到效果)
样式:
HSSFCellStyle cell样式
辅助操作包括:
HSSFDateUtil 日期
HSSFPrintSetup 打印
HSSFErrorConstants 错误信息表
6. 导出Excel应用实例
6.1. 创建Excel文件的基本操作步骤
一个Excel的文件的组织形式,一个Excel文件对应于一个workbook(HSSFWorkbook),一个workbook可以有多个sheet(HSSFSheet)组成,一个sheet是由多个row(HSSFRow)组成,一个row是由多个cell(HSSFCell)组成。
对Excel表的基本操作步骤:
1) 用HSSFWorkbook打开或者创建“Excel文件对象”
2) 用HSSFWorkbook对象返回或者创建Sheet对象
3) 用Sheet对象返回行对象,用行对象得到Cell对象
4) 对Cell对象读写。
6.2. 导出Excel应用实例
新建一个Excle文件,创建一个"成绩表"页面,将数据写入Excel.*/
//TestPoiExcel.java
import java.io.*;
import org.apache.poi.hssf.usermodel.*;
import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.ss.util.CellRangeAddress;
import java.io.*;
import org.apache.poi.hssf.usermodel.*;
import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.ss.util.CellRangeAddress;
public class TestPoiExcel {
public static void main(String[] args) {
try {
//1. 创建HSSFWorkbook对象
Workbook wb=new HSSFWorkbook(); //新建一个工作簿
//2. 创建HSSFSheet对象
HSSFSheet sheet = (HSSFSheet)wb.createSheet("成绩表");
int rowNum=10; //Excel表的行数
int colNum=4; //Excel表的列数
HSSFRow row=null;
for(int i=0; i<rowNum; i++) {
//3. 创建HSSFRow对象
row = sheet.createRow(i);
if(i==0){//创建表头
//创建单元格(excel的单元格,参数为列索引,可以是0~255之间的任何一个
HSSFCell cell=row.createCell(0);
//设置单元格内容
cell.setCellValue("学员考试成绩一览表");
/*合并单元格CellRangeAddress构造参数依次表示起始行,截至行,起始列, 截至列 */
sheet.addMergedRegion(new CellRangeAddress(0,0,0,3));
}
if(i==1) {//在sheet里创建第二行
//创建单元格并设置单元格内容
row.createCell(0).setCellValue("姓名");
row.createCell(1).setCellValue("班级");
row.createCell(2).setCellValue("笔试成绩");
row.createCell(3).setCellValue("机试成绩");
}
if(i>=2) {//在sheet里创建第三行
row.createCell(0).setCellValue("李明");
row.createCell(1).setCellValue("As178");
row.createCell(2).setCellValue(87);
row.createCell(3).setCellValue(78);
}
}
//输出Excel文件
File outputFolder=new File("D:\\workspace\\PoiExcelTest\\Demo");
//创建Demo文件夹
if(!outputFolder.exists())
outputFolder.mkdir();
//创建文件
File outputFile=new File(outputFolder, "workbook1.xls");
if(!outputFile.exists())
outputFile.createNewFile();
FileOutputStream fout=new FileOutputStream(outputFile);
wb.write(fout); //Workbook提供了write的方法
fout.flush();
fout.close(); //将输出流关闭
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
/*7. 导入Excel应用实例
实现将已存在的Excel文件中的数据导入到系统中的基本步骤同导出十分的类似,关键在于要了解要导入Excel文件的结构,比如:数据有哪些列、读取数据起始位置(有效数据从第几行几列开始)等。
这里,以前面生成的excel表为例,重点掌握如何编写导入Excel的代码。*/
//InputExcelFile.java
import java.io.*;
import java.util.*;
import org.apache.poi.hssf.usermodel.*;
import org.apache.poi.sl.usermodel.*;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Workbook;
public class InputExcelFile {
public static void main(String[] args) {
String xlsPath="D:\\workspace\\PoiExcelTest\\Demo\\workbook1.xls";
new InputExcelFile().loadScoreInfo(xlsPath);
}
public List<ScoreInfo> loadScoreInfo(String xlsPath){
List temp = new ArrayList();
try {
FileInputStream fileIn = new FileInputStream(xlsPath);
//根据指定的文件输入流导入Excel从而产生Workbook对象
Workbook wb=new HSSFWorkbook(fileIn);
//获取Excel文档中的第一个表单
HSSFSheet sht = (HSSFSheet) wb.getSheet("成绩表");
//对Sheet中的每一行进行迭代
for(Row r :sht) {
//如果当前行的行号(从0开始)未达到2(第三行)则从新循环
int row=r.getRowNum();
if(row<2){
continue;
} else {
System.out.print("第"+row+"行;");
//创建实体类
ScoreInfo info=new ScoreInfo();
//System.out.println(r.getCell(0).getStringCellValue());
//取出当前行第1个单元格数据,并封装在info实体stuName属性上
info.setName(r.getCell(0).getStringCellValue());
info.setClassName(r.getCell(1).getStringCellValue());
info.setPaperScore(r.getCell(2).getNumericCellValue());
info.setComputerScore(r.getCell(3).getNumericCellValue());
System.out.println(info.toString());
temp.add(info); //将读取的每一行数据创建对象添加到链表中
}
}
fileIn.close();
} catch (IOException e) {
e.printStackTrace();
}
return temp;
}
}
//ScoreInfo.java,存储成绩信息
public class ScoreInfo {
String name;
String className;
double paperScore;
double computerScore;
public ScoreInfo() {
super();
}
public ScoreInfo(String name, String classInfo, double paperScore, double computerScore) {
super();
this.name = name;
this.className = classInfo;
this.paperScore = paperScore;
this.computerScore = computerScore;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getClassName() {
return className;
}
public void setClassName(String classInfo) {
this.className = classInfo;
}
public double getPaperScore() {
return paperScore;
}
public void setPaperScore(double paperScore) {
this.paperScore = paperScore;
}
public double getComputerScore() {
return computerScore;
}
public void setComputerScore(double computerScore) {
this.computerScore = computerScore;
}
@Override
public String toString() {
return "ScoreInfo [name=" + name + ", className=" + className + ", paperScore=" + paperScore+ ", computerScore=" + computerScore + "]";
}
}
修改host文件
- 上网搜索教程即可,这里注意几点,要先把host文件从只读属性改为可修改文件,右击文件属性,将选中的只读取消选中即可。在去属性-安全中分配权限即可
asset报错
- 使用图片插件,因此如果{% asset_img 图片名 %},格式不争取的话就会hexo s失败,报错中会有提示asset unknown 提示,根据提示找到对应的文件修改就可以
hexo启动报错
是因为博客中有#,{{}}
,这些转义字符没有转义,造成解析错误,记得用就是
进行包裹,就在刚刚我写这个的时候,{{}}
忘了加外面的点,就会出错。
idea远程调试
- 教程看这里。
- 在服务器上运行如下语句
java -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=0.0.0.0:5005 -jar walle-0.0.1-SNAPSHOT.jar
- 注意服务器要开放5005端口(调试默认监听端口).调试时日志等信息任然是在服务器上输出,但是可以idea中查看变量。