1. Spring/SpringBoot相关
Failed to read candidate component class错误分析
- 将spring从3.1升级到3.2启动tomcat出现如上错误,换回成3.1又没有问题,换成3.2又不行,查看编译环境用的是1.8,将1.8降为1.7,问题解决,服务启动正常。也就是说spring 3.2不支持1.8编译环境,解决办法就是降为1.7编译环境,参考链接
org.springframework.boot.autoconfigure cannot be resolved in eclipse。参考链接
- Go to your maven repository directory For windows on below path C:\Users\YourUser.m2\repository\org\springframework\boot Then delete spring-boot-autoconfigure folder.Now go to eclipse and do maven update.
spring boot项目在idea实现自动部署/热启动/开发模式
- spring-boot-devtools是一个为开发者服务的一个模块,其中最重要的功能就是自动应用代码更改到最新的App上面去。
原理是在发现代码有更改之后,重新启动应用,但是速度比手动停止后再启动更快。
其深层原理是使用了两个ClassLoader,一个Classloader加载那些不会改变的类(第三方Jar包),另一个ClassLoader加载会更改的类,称为restart ClassLoader
,这样在有代码更改的时候,原来的restart ClassLoader被丢弃,重新创建一个restart ClassLoader,由于需要加载的类相比较少,所以实现了较快的重启时间。
即devtools会监听classpath下的文件变动,并且会立即重启应用(发生在保存时机)
参考链接
- spring-boot-devtools是一个为开发者服务的一个模块,其中最重要的功能就是自动应用代码更改到最新的App上面去。
spring-boot启动报错【This application has no explicit mapping for /error…..】
- 从spring-boot官网上看的例子,自己试着写了一个 返回name和id的小接口,一开始访问http://localhost:8080/getPerson报错 :
Whitelabel Error Page
- 原因:原因是【Application启动类放的位置不对】要将Application放在最外层,也就是要包含所有子包。
比如你的groupId是com.google,子包就是所谓的com.google.xxx,所以要将Application放在com.google包下。
请参考以下结论:spring-boot会自动加载启动类所在包下及其子包下的所有组件.
- 从spring-boot官网上看的例子,自己试着写了一个 返回name和id的小接口,一开始访问http://localhost:8080/getPerson报错 :
java.lang.NoSuchMethodError
- You are mixing two different versions of the spring framework, as can be seen from the stacktrace: 4.1.0.RELEASE and 4.0.6.RELEASE. This is also configured incorrectly in your pom.xml. Just correct the pom.xml to use a single version for all spring dependencies and you should be fine.
- 即修改pom.xml的jar包版本
2. linux相关
- xftp上传失败之解决办法
- 今天用xftp把windows下文件上传到服务器,出现了错误,纳闷儿。参考链接
Permission is not allowed。我就奇怪了,为什么请求不被允许呢?我在root权限啊… ;于是我把env文件夹的权限改成777。$chmod 777 env ;然后再进入env文件夹,再从xftp上传文件就成功了…
- xshell连接虚拟机下创建的linux
3. IDEA相关
Intellij IDEA打开多项目窗口
idea打包java可执行jar包
Maven:Failed to create a Maven project ‘…pom.xml’ already exists in VFS 解决
- 有时候我们在创建Maven项目的时候会出现上述的问题,导致Maven项目创建导致的,需要完全清理干净。参考链接
关于“Could not open ServletContext resource [/WEB-INF/applicationContext.xml]”解决方案参考
- 这是由于引入maven导致的问题,之前的项目没有使用maven
4. Nginx相关
- Nginx 基础详解及编译安装
- Nginx(“engine x”)是一个高性能的HTTP和反向单利服务,也是一个IMAP/POP3/SMTP代理服务器。由lgor Sysoev为俄罗斯访问量第二的Rambler.ru站点开发的。Nginx已经因为它的稳定性、丰富的功能集、示例配置文件和低系统资源的消耗而闻名,目前国内各大门户网站已经部署了Nginx,如新浪网易、腾讯等;新近发现Nginx技术在国内日趋火热,越来越多的网站开始部署Nginx。官网:nginx.org
- 配置参考
- 解决“service nginx does not support chkconfig”的问题?参考链接
- 如果想添加脚本用service启动,必须要脚本里面包含这2行:
# chkconfig: - 85 15
# description: nginx is a World Wide Web server. It is used to serve
其他的都不所谓,只是个注意而已!!!
- 如果想添加脚本用service启动,必须要脚本里面包含这2行:
- 防火墙未关闭导致的:nginx正常启动后,无法打开网页参考
/etc/init.d/iptables stop
关闭了防火墙以后,一切访问都正常。
5. python相关
- Python 读写matlab中.mat文件参考
import scipy.io as sio
import numpy as np
###下面是讲解python怎么读取.mat文件以及怎么处理得到的结果###
load_fn = 'xxx.mat'
load_data = sio.loadmat(load_fn)
load_matrix = load_data['matrix'] #假设文件中存有字符变量是matrix,例如matlab中save(load_fn, 'matrix');当然可以保存多个save(load_fn, 'matrix_x', 'matrix_y', ...);
load_matrix_row = load_matrix[0] #取了当时matlab中matrix的第一行,python中数组行排列
###下面是讲解python怎么保存.mat文件供matlab程序使用###
save_fn = 'xxx.mat'
save_array = np.array([1,2,3,4])
sio.savemat(save_fn, {'array': save_array}) #和上面的一样,存在了array变量的第一行
save_array_x = np.array([1,2,3,4])
save_array_y = np.array([5,6,7,8])
sio.savemat(save_fn, {'array_x': save_array_x, 'array_x': save_array_x}) #同理,只是存入了两个不同的变量供使用