Code
spring下的IncompatibleClassChangeError
使用Maven管理传说中的CRUD程序员三部曲,一路坎坷不必细说,都整完了还给我报个IncompatibleClassChangeError
java.lang.IncompatibleClassChangeError: class org.springframework.core.LocalVariableTableParameterNameDiscoverer $ParameterNameDiscoveringVisitor has interface org.springframework.asm.ClassVisitor as super class
有完没完.... (more…)
Code
mysql添加自增索引后一个报错解
现在有一个mysql数据库表,需要给主键加上自增。很容易可以找到命令类似于下面这样
alter table `table_name` change column `id` `id` int(10) unsigned auto_increment not null ;
但是,一直没问题的代码这次失效了,报错如下:
ERROR 1062: ALTER TABLE causes auto_increment resequencing, resulting in duplicate entry '1' for key 'PRIMARY'
Code
java插入mysql一条数据,如何返回自增的ID?
在实际操作中,我们常常有一些各种古怪的需求,比如现在这个。数据库的table中有一个自增的id字段,插入数据库后,要求返回刚刚插入那条数据的id。 在单线程情况下,这当然是一个很简单的问题。首先获得数据库的最大id,给将要插入的语句id赋值为MAX+1,然后插入即可。 Oracle也很容易实现,给这个table建立一个sequence,每次都向这个sequence获取下一个id,效率也是价格公道童叟无欺。 但是,给多线程下的mysql返回刚刚插入的id,这似乎有点小为难。一个立刻可以想到的方法是,给插入操作加个锁,插入后查询MAX id,然后解开锁。但是这个显然是不怎么讲究了。 (more…)
Code
mysql修改存储路径参考
linux下存储数据,mysql无疑是个很不错的选择。mysql的默认存储路径为/var/lib/mysql。以前数据库一直不是很大,总共十个G左右的大小,放在默认路径毫无压力。但是今天,因为新导入一个数据库,光是导入数据就是30+G,瞬间就悲剧了,因为我并没有为/目录准备足够的硬盘分区空间。所以,修改配置,迁移数据库存储路径到合适的地方成了最省力的选择。 (more…)
Code
libstdc++.so.5: cannot open shared object file: No such file or directory
中文分词一般会选择ICTCLAS的模块,虽然不能说很完美,但也算是一个不错的选择。 它提供了windows版本和linux版本,并支持C/C#/JNI接口。这本来是一个不错的事情,但版本一多,官方似乎就有点维护不过来了。 (more…)
Code
mozjs185 在哪里?
安装某个东西,cmake的时候,报错如下
-- checking for module 'mozjs185' -- package 'mozjs185' not found
如往常,copy这个module的名字,然后
# yum search mozjs185
结果是Not Found (废话,如果不是not found,还写这个干啥...) 直接杀到网上找结果。 (more…)
Code
Java compiler level does not match the version of the installed Java project facet
有个 Eclipse 下的 Java 项目, 虽然已经把所有的错误都调通了, 但是在工程的左下角还是有个鲜红色的叉. 检查 Problems, 可以观察到唯一一个错误如下:
Java compiler level does not match the version of the installed Java project facet. .. Unknown Faceted Project Problem (Java Version Mismatch)
这是什么意思呢? 字面意思, Java 版本不匹配. 实际意思? 不懂, 求助 google 去. (more…)
Code
管道文件的使用:读取命令的输出
stdlib 库有个很多人用过的函数:system.
如果希望这段代码能够跨平台,而希望让程序能等个1秒,一个很好的方法就是,system("sleep 1");这样,无论是windows还是linux,我们都可以很好的执行"等待1秒",而不必多写好多参数什么的.
但是,有时候,我们希望能够得到这个命令的输出,而不是只是"执行它".那么,我们需要点新的东西了. (more…)