问题一:WIN10 下Mysql 下载与安装问题:无法启动此程序,因为计算机丢失MSVCR120.dll
解决办法:
安装Microsoft Visual C++ 2013 Redistributable Package (x86、x64),安装之后就可解决这个问题。
下载路径:Microsoft Visual C++ 2013 Redistributable Package
问题二:在cmd中输入mysql -uroot -p出现1045错误如下:
ERROR 1045(28000): Access denied for user 'root'@'localhost'(using password)
解决办法:
1.先找到mysql bin目录下的my.ini文件,在[mysql]下面加上 skip-grant-tables 用于跳过密码
2.重启服务器
net stop mysql
net start mysql
3.进入cmd,重置密码
mysql -uroot -p 回车
不用管password 回车
use mysql; 回车
修改密码:set password for 'root'@'localhost'=password('新密码');
flush privilegs; 刷新数据库
quit;
4.修改my.ini 注释掉skip-grant-tables;保存退出
5.重启服务器
问题三:The origin server did not find a current representation for the target resource or is not willing to disclose that one exists.
解决办法:
1. 查看tomcat 服务器。双击窗口中服务器看到server locations 选项为灰色,不可选 ,且为第一个; 接下来做的是:
- 删除服务器里面的项目, 删除服务器 。
- 点击添加服务器 连接,选择tomcat 版本,添加项目。
- 此时再双击服务器,看到 server locations 可选,勾选中间一个。
重新build 后 ,访问还是不能访问,报同样的错误,但是 localhost:8080已经可以访问了。不报错了。
2.检查jsp文件
网上百度了很多,发现不行。然后检查自己写的jsp文件。发现 jsp文件是放在WEB-INF 文件夹下面的。 WEB-INF文件下的 jsp文件用户是不能直接访问到的。好像是受保护的。因此把jsp文件 挪到 WebContent文件下即可了。
正确做法是放在 WebContent 文件夹下面。 自己弄错了。希望自己谨记。
若想放到文件夹里面 也是把jsp 文件 放到 WebContent 下面的文件夹里面 。
访问路径为: localhost:8080 / 你的项目名称 / 你的放jsp的文件夹/jsp文件名称.jsp
如:http://localhost:8080/JSTLTest/jsp/JSTLTest.jsp
第一个JSTLTest 为项目名称,jsp 为 WebContent 下面的 文件夹,专门存放 jsp文件的。 然后 第二个 JSTLTest为jsp文件。需要加后缀。
参考博文:https://blog.youkuaiyun.com/yushiww/article/details/74421476
问题四:配置Dubbo配置文件时,在.xml文件中出现: cvc-complex-type.2.4.c: The matching wildcard is strict, but no declaration can be found for element 错误。
解决办法:
这种错误的原因就是某个标签没找到引用的具体配置文件,Spring解析到你有一个dubbo定义的标签的时候,会从jar包里面的指定位置(meta-inf下面)去寻找xsd的定义没找到。
- 首先找到项目中所引用的dubbo-2.5.3.jar包,拷贝出来,解压后,找到META_INF->dubbo.xsd后拷贝到指定的目录下以便路径引用。
- 在windows->preferrence->xml->xmlcatalogadd->catalog entry ->file system 选择刚刚设置为上面放好的dubbo.xsd路径。
- 修改key值和配置文件的http://code.alibabatech.com/schema/dubbo/dubbo.xsd 相同保存,如下:
- 在xml文件右键validate就可以k解决了。
问题五:WIN 10下安装Mysql 8.0.12版本后修改root的登陆密码时,根据网上的在配置文件my.ini中加入 skip-grant-tables后服务无法启动。
解决办法:
- 由于mysqld –skip-grant-tables实测在mysql8.0及以上版本中已失效,现使用mysqld --console --skip-grant-tables --shared-memory;
- 另外开一个cmd,使用mysql直接无密登录,即定位到MySQL的bin目录下:mysql -uroot -p
- 修改root密码为root,输入SET PASSWORD FOR 'root'@'localhost' = PASSWORD('root');
此时出现“ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '('newpass') WHERE user = 'root'' at line 1”错误信息。
改成输入:ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'root';
出现的错误信息如下:
ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement。
此时的解决办法是:
先输入: flush privileges;
再输入: ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'root';即可修改成功。
问题五:Map中put了(null,null)时,使用for(String,map.keyset()){Object value=map.get(key)}会报空指针异常。
解决办法:
先对key进行一个判断,若为null则continue,即if(key==null){continue;}
问题六:配置完Hadoop后,在cmd命令行中输入:hadoop version后出现 Error: JAVA_HOME is incorrectly set. Please update F:\hadoop\conf\hadoop-env.cmd
解决办法:
原来是配置文件的问题,我的JAVA_HOME目录是C:\Program Files\Java\jdk1.8.0_121,因为Program Files中存在空格,所以出现错误。
用引号括起来 "C:\Program Files"\Java\jdk1.8.0_91 修改过以后测试OK~
问题7:解决Windows下无法对docker容器进行端口映射的问题
现象:
在安装了一个Windows下安装了docker,并尝试在其中运行Nginx服务,但映射完毕之后,在主机的浏览器中,打开localhost:port无法访问对应的服务。
原因:
docker是运行在Linux上的,在Windows中运行docker,实际上还是在Windows下先安装了一个Linux环境,然后在这个系统中运行的docker。也就是说,服务中使用的localhost指的是这个Linux环境的地址,而不是我们的宿主环境Windows。
解决办法:
找到这个Linux的ip地址,一般情况下这个地址是192.168.99.100(docker-machine ip default 命令查找),然后在Windows的浏览器中,输入这个地址,加上服务的端口即可启用。如docker run -d -p 8080:80 nginx
后再windows上访http://192.168.99.100:8080/即可。