Dec 11

  升级了 Sonatype Nexus 之后看了一下日志发现很多WARN

jvm 1    | 2012-12-11 23:44:01 WARN  [Timer-0        ] - java.util.prefs - Could not lock User prefs. Unix error code 2.

[more..]

May 04

不知道从哪次 emerge -avtuDn world之后突然发现访问taobao的时候出现"蓝屏",这里的蓝屏不是指操作系统蓝屏哦。是网页蓝屏。网面其实已经正常加载完了,只是全是蓝色,鼠标也能正常的点击到网页上的链接,试过用Ctrl+A大法也看不到内容。但是访问其它网页又是正常的。而且换firefox访问taobao又是正常的。开始以为是没有revdep-rebuild的问题。做完后发现还是不行,暂时放下了,后来几天继续升级再revdep-rebuild 还是一样。后来又发现公司项目用sencha touch做的web也出现一样的蓝屏现象。

[more..]

Feb 17
从一个main方法启动内嵌的Jetty很简单。Jetty的文档上有详细的例子。
http://docs.codehaus.org/display/JETTY/Embedding+Jetty

现在的一个项目需要用到JNDI.把datasource和上传文件的目录保存到了jndi中这样统一了不同os和开发者间的差异。只要在大家配置同样的jndi name就不用考虑打包的问题。这是另外一种解决办法。

首先你需要再添加两个jar包。jetty-plus和jetty-naming包。少了jetty-naming报的不是no class found exception.所以一定不要忘记。直接看代码吧。其实也很简单。

[more..]

Feb 16
一个项目里总会有很多配置文件。而且一般都会有多套环境。开发的、测试的、正式的。而在这些不同的环境这些配置的值都会不一样。比如mail的配置、服务的url配置这些都是很常见的。所以在打包的时候就要根据environment来选不同的值或者配置文件。

比较常用的办法就是为不同的环境建立不同的配置文件目录。在打包的时候用对应的文件目录下的配置文件。

|-- resources
|   |-- dev
|   |-- product
|   |-- qa
|   `-- qa53

以前用ant的时候打包的时候处理就比较方便。打包前copy一下对应目录下的配置文件覆盖target下的那些文件再打包就可以了。在刚开始用 maven的时候就想要怎么解决,一直没有找到ant的这种方式的可行的办法。其实主要是按ant这种处理方法去思考了。只去想没有有cp这种 target。其实在maven里用profile就可以解决了。对于不同的environment定义不同的profile就ok了,目录结构还是沿用 原来的就可以。

[more..]

Jan 08
前几天一个同事在服务器上务操作,生成了一个以"-"开始的文件.问我怎么删除.很容易想到的方法是 加引号 rm "-xxx",不行.再来加个转意符 rm \-xxx 也不行.

[more..]

Dec 28
刚才在#gentoo-cn 的irc里有个Guest10086的人问为啥一个目录需要(+x)execute权限,可能很多人都会觉得奇怪.为什么需要.记得以前也有过同样的疑问.今天google了一把找到了原因.

The chdir() system call requires execute permission on a directory.  Of course a directory isn't really a program that you can run, even if it has execute permission.  The execute bit is reused rather than waste space with additional permission bits. Besides controlling a user's ability to cd into some directory, the execute permission is required on a directory to use the stat() system call on files within that directory.  The stat() system called is used to access the information in a file's inode, and must be done before you can open or delete (via the unlink() system call) that file.  Because of its role in file access the execute bit on a directory is sometimes called search permission.  For example, to read a file foo/bar, you must have read permission

[more..]

Dec 17
在xfce4中可以方便的自定义自己的快捷键。最方便的一种方式就是通过xfce4的keyboard preferences来设置。添加一个自己的配置然后就可以修改添加自己的快捷键了。设置的时候也很简单,选择一个命令,然后再设置键值,只要按下相应的快捷键xfce4会自动捕捉到键值,非常的方便。
xfce4 keyboard preferences
但是你要修改一些系统定义的快捷键就不能在这里设置了。

[more..]

Dec 09
如果你按照这里的命令来建立自己的maven2 mirror的话将会把官方的所有包同步下来。
http://maven.apache.org/guides/mini/guide-mirror-settings.html

rsync -v -t -l -r mirrors.ibiblio.org::maven2 /your/local/path
rsync -v -t -l -r rsync://rsync.cica.es/maven2 /your/local/path

前段时间我在公司一台机器上同步完了,现在应该是接近50G了。这样下去80G的硬盘除去安装系统的"/"又快用完了。在一年前大概是20G多一点。在同 步的时候你会发现很多*.zip,*.tar.gz,*.bz2的包。而且有这种包出现的时候一般都超过10G。特别是在/org/apache下的很多 包里出现。不知道是不是maven本来是他们家的。所以各种包都先放到repository里去。其实我们只是需 要*.jar,*-sources.jar,*-javadoc.jar 就足够了。

[more..]

Dec 01
在使用subversion的过程中碰到过很多次的
Repository moved permanently to 'http://svn.jdkcn.com/labs/'; please relocate
刚开始的时候是把checkout下来的代码先删除了.重新checkout就好了.后来发现只要switch到checkout时候的url也正常了. 在网上也搜索过这个错误.不过别人都是checkout的时候出错的.我的都是在svn update的时候出现的.所以一直没有解决.

今天终于打到问题的原因了.原来是在subversion 的FAQ中的问题.

[more..]

Nov 19
       记得以前有装过一次64位的ubuntu.有很多软件不能装。而且64位的mplayer也不好播放real。要自己安装解码器。所以就没有再装过64位 的linux.后来看到gentoo区里很多人用64位的。所以后来就在本本上装了64位的gentoo。那个时候还是装的32位的mplayer- bin版本。后来发现直接装mplayer加上real的use就可以正常的播放real视频了。不过最近real被unmask了。所以你现在装的64 位gentoo通过添加real到/etc/portage/package.use里。就不能启用了。

[more..]