Could not find the main class问题

因为毕业设计要用到jsp,这两天在准备着搭Java环境。下午把JDK装上,配置好path,classpath和java_home几个环境变量,然后随手用EmEditor中自带的Java模板自动生成了一个hello world函数,测试一下JDK是否装好。

hello.java
class Hello {
    public static void main(String args[])
    {
        System.out.println("Hello, world!");
    }
}

编译:javac hello.java,顺利通过,然后运行:java hello,报错:

Exception in thread "main" java.lang.NoClassDefFoundError:
……
Could not find the main class: hello.  Program will exit.

编译能通过,不能运行,这个报错生生折腾了我两个小时,起初以为是环境变量没设好,改了N次,仍然是报错,气得半死。Google的时候说Java严格区分大小写,就留心了一下,果然是这个问题。类名是calss Hello,大写,文件名却是 hello.java,小写,编译的时候javac不区分大小写,所以编译通过,生成 Hello.class 文件,运行的时候却是java hello,与类名不符,进而 could not find the main class,所以报错。

教训啊,一定要注意,Java里文件名要和main class类名完全一致,大小写严格区分。还有,写程序时候遇见错误一定要心平气和的去debug,越急躁越不行;也要注意写程序的细节问题,细节决定成败。

配置Vim

  1. 添加ctags、taglist插件。官网下载这两个插件。taglist解压后合并到 $VIM/vimfiles 下doc和plugin目录,ctags.exe单文件放在vim安装目录下
  2. ctags使用:源文件目录下cmd中运行 ctags –R,会在源文件目录下生成一个tags文件.
  3. taglist使用很简单,常用的命令有 :Tlist,ctr+],ctr+o
  4. 添加SearchComplete.vim插件,很小巧,功能就是搜索时候支持Tab补全关键字。

插件就先这么几个,慢慢的用了再添加。然后一个主要的就是 _vimrc 配置文件,这个更是要慢慢摸索,把现在的贴出来先:

" 自动载入_vimrc配置文件
autocmd! bufwritepost D:\Program Files\Vim_vimrc
" 不同中文编码显示
set encoding=utf-8
set fileencodings=utf-8,gbk,chinese,latin-1
if has("win32")
    set fileencoding=chinese
else
    set fileencoding=utf-8
endif
language message zh_CN.utf-8
" 默认目录
cd E:\Vim
set backupdir=E:\Vim\Backup
" 显示行号
set number
" 禁用swf交换文件
setlocal noswapfile
" 使用中文帮助文档
set helplang=cn
" 自动缩进,tab缩进
set autoindent        "always set autoindenting on
set smartindent       "set smart indent
set smarttab          "use tabs at the start of a line, spaces elsewhere
set expandtab
set tabstop=4
set shiftwidth=4
" 自动匹配括号
set showmatch
set mat=2
" 状态栏显示
set statusline=%F%m%r%h%w\ [TYPE=%Y]\ [POS=%04l,%04v][%p%%]\ [LEN=%L]
set laststatus=2 " always show the status line
" 侦测文件类型
filetype on
" 启用语法高亮
syntax on
" smartcase,搜索时默认不区分大小写,只有搜索关键字中出现一个大字母时才区分大小写
set ignorecase smartcase

最后一点,关于vim插件安装位置的问题,滇狐大侠这篇文章里有很详细的解释。我的方法,$HOME目录不装,牵扯到系统重装恢复,比较麻烦;$VIMRUNTIME目录尽量不装,这里面是发行版自带的插件等,升级vim时候可能会覆盖掉;自己安装的插件、文档等全部放在$VIM/vimfiles目录下,这样既便于管理又安全。

趁着毕业设计把以前许多想做的但又偷懒没做的拿起来,下一个,版本控制,做项目的必备啊。

考研成绩出来了

RT,昨晚上一点多的时候论坛里说可以查分了,查了一下:

政治    外语    数一    专业课     总分
62      45      45      73      225

跟自己的估计差不多,第一天的两门正常吧,英语的作文写的有点跑题;第二天上午的数学崩溃掉,脑子空空如也,都是很正常的题目,平时在下面练习的很顺手的东西,写不出来,当时在考场上就想着交卷走人,还是忍住了,坚持到最后;由于上午的崩盘,下午的专业课算是半放弃了,没有好好的写完,不完美的结束了考研经历,结果当然也不会完美。

经历过就行了,不多想了,好好准备找工作吧。在这里留个记录,给若干年后的自己有个后悔的机会,曾经不是很努力的考研经历带来的这个结局;当然,若干年后也有一个不后悔的机会,坚持到了最后,经历过那种心理折磨,成长的经历吧,只有自己知道。

毕业设计开始了

上午学院开毕业设计动员大会,无非是强调一下毕业设计的意义,要求,流程等等,然后把选题分发下来,中午一回来大家都开始疯抢,我的题目:

利用JSP和SQL server实现局域网内办公自动化系统。

选题差不多有四类,MIS类,Web类,系统应用程序类以及算法复现类,难度应该是依次增加。我自己偏向于Web程序设计类,自从大三下开始,慢慢的就开始把自己的方向转向Web程序设计,桌面编程基本上荒废了。上学期的课程设计就是用PHP+MySql实现了一个简单的留言板,很简单的功能,对自己也算是一个锻炼。今年毕业设计就想着还做Web方面的,算是积累一些实战经验。

这个选题初步打算是用JSP+SSH(Struts+Spring+Hibernate),丫头是做JSP开发的,说目前这个组合企业级的开发比较多,是一个很流行的开发组合,就打算尝试一下,虽然现在来说啥都还不知道。下午去图书馆借了本JSP的书,语法方面的,大二学Java时候有一部分是JSP的东西,不过尝试不多,没有做过什么项目。暂时先把丢掉的东西捡起来,然后看老师提供的需求,加油做。

其实还有一道题挺想做的,博客网站设计,没有要求具体语言,当时就特想要这个题,用Python写一下,然后架设到GAE上,做一个辅助博客。不过计算机专业毕业设计有一个潜规则,搞Web做网站的答辩时候得分普遍较低,那帮子老师可能感觉写Web的没有搞算法的那么高深,不应该是科班人做的。科班的好像都应该是实现什么很牛逼的算法复现才说的过去……再一个考虑找工作时候写简历时候,做一个办公自动化系统看起来至少比写一个博客网站来的正规高级一点,自己写一个博客系统给人的感觉就有点份量不是很足。也见过很多coder业余时间写一个Python blog假设在GAE上,算是一种学习能力扩展,尝试新东西吧。现在GAE确实非常热,Google云计算的一个重量级武器,目前来说大型应用还不够成熟,不及Amazon EC2、S3那样可以拿来做企业应用,不过GAE一直在加强,今年也将推出付费应用,功能将越来越强大。好吧,我承认去年的时候就想着用GAE做一个博客应用,一直没动手。。。今年要是时间充足的话尝试一下,功能不要求强大,简单的博客抑或是一个留言本也行,算是09年的一个小目标吧。

努力做毕业设计,也要努力找工作,加油!

卸载Microsoft .NET Framework Assistant扩展

备份Firefox配置时候发现Microsoft .NET Framework Assistant扩展,自己都不知道啥时候MS给我装上的,Google了一下,可能是自动更新 .NET 3.5 Framework SP1时候装上的,居然一点提示都没有,够流氓,更流氓的是常规卸载Fx扩展的方式居然不能卸载,Addons里面卸载按钮不可用,杀之。以下是Google到的卸载方法:

  1. 备份Fx配置文件,安全第一。然后关掉Fx。
  2. 删除 C:\Windows\Microsoft.NET\Framework\v3.5\Windows Presentation Foundation\DotNetAssistantExtension 下所有文件,不放心的话可以先备份再删除。
  3. Fx地址栏打开 about:config,搜索 general.useragent,重置 general.useragent.extra.microsoftdotnet
  4. 打开注册表编辑器(开始-运行-regedit),定位到 HKEY_LOCAL_MACHINE\SOFTWARE\Mozilla\Firefox\extensions,删除对应项。Done.

最后鄙视一下MS这种强盗流氓做法。

Update:发现还有一个 Windows Presentation Foundation 插件,在 about:config 里面重置 microsoft.CLR.clickonce.autolaunch 即可。

笔记本触摸板小技巧

这一段冷的要命,晚上就躺床上钻被窝上网,鼠标用着不大方便,触摸板就派上用场了。其实我的Fx配上了vimperator这个牛X级扩展,一般的上网操作都可以脱离鼠标的,但是像拖拽这种操作还是不大方便,刚开始就是食指按住触摸板的左键,中指滑动拖拽,感觉不是很方便,就Google了一些笔记本触摸板的使用技巧,摘录两个很方便的小技巧。

  • 拖拽——指头快速两次点击,第二次点击时候来个小滑动即可完成拖拽动作,拖拽搜索,拖拽打开链接都可以。
  • 快速移动鼠标——两个指头依次点击触摸板,第二次点击指向移动方向即可。

很简单但是很实用的技巧,不知道的时候不要以为不存在,尝试着Google一下,惊喜自己一把。

我的2008

现在是09年1月17日22:13,写下这个标题是在08年的最后一天,半个多月都过去了,补上。其实最不擅长写这种总结性质的东西,高中时候的个人学期总结之类的东西都是七拼八凑的给弄上就中。我的2008年,现在回过头看看,算是大学四年过得最为充实的吧,给自己找了点事情去做,虽然做的不大好,准确说,很不好,不过至少自己尝试了,努力了,我觉得就行。

08年1月:郑州,丫头。寒假放假,跟丫头的真正意义上的第一次见面。之前有过两次见面,不过都是匆匆忙忙的,而且那时候,不属于我们的见面,而这次,是我们的世界。还记得从郑州火车站出来,大雪,站在门口等待着丫头,一丝的紧张。当丫头出现的时候,反而很释然的感觉,丫头也说没有那种紧张,很亲切的感觉,嘿嘿,我喜欢这种感觉,平淡中的你,属于我,幸福中的快乐,和你在一起。

08年2月:春节,博客。大年初一,我们几个小学同学聚了聚,有的八九年都没见了,人这一辈子能有几个八九年,很开心,我们一起去爬山,照相,围着火堆回忆小学时候课堂上的闹剧,回想我的外号,你的糗事。时间在走着,我们却在淡忘着小时候的童真乐趣,不应该,赶紧的把它抓住。今年的年初一,我过得很开心,甚至照片上都是那么的帅气十足,哦哈哈。2月底,回学校,折腾着弄这个博客,不知道怎么,我就是想自己一个人动手把它做出来,看教程,架设本地服务器环境,买空间,设置域名,DNS这类名词我知道它的意思,可是让我拿出来折腾,还是不够,我就这么瞎子过河的,在2月的最后一天的11点多,我在WP后台写了这几个字:航航的名字。那一刻,我真的很兴奋,这是我一个起点,我会继续下去。

08年3月4月:幸福,忙碌。想丫头,想着丫头的瞎忙,要不咋说恋爱中的人都没脑子,你会发觉时间是过得如此的慢,慢的老想着把日期改上两月,赶紧回去;时间也会过得那么快,一晃功夫的电话粥就俩小时,呼呼。那一段继续瞎折腾的写博客,折腾WP主题,折腾WP插件,折腾其实也是一种享受,因为你永远不知道你会折腾出来什么玩意。

08年5月:地震。教科书中学习的地理知识,电视电影中的灾难片环境,如此之近的发生在我们的身边,如此之大的威力,让你一下子知道,其实,你不过尔尔,在那块石头面前,你啥都不是,脆生生的,不堪一击。地震,让我们走的更近,抱的更紧。地震,也让我们知道活着是多么的珍贵。

08年6月:iPhone,Vista。3G iPhone横空出世,那一段我是天天上网看iPhone的消息,怎么买,多少钱买,怎么刷机,怎么玩,有什么好玩的APP,泡了好一阵子论坛,幻想着自己啥时候买一个去,哎,可惜就是没钱,连系统都只好用盗版的,Vista,六月份升级到这个十分尴尬地位的系统,细节不错但是大方面不好,鸡肋一般,不过还算是个肉比较肥的鸡肋,还能吃,也就吃了下去。

08年7月:徘徊。其实徘徊了好久了,考研,还是就业,真的是个问题。考研,自己以前的一个心愿,就业,更为现实一点,这种时候这种挣扎很让人烦。7月19号,21岁生日,那天的酒是我们最后的青春酒,那天的兄弟聚会,我们都很失落,面对着这个社会,我们其实都还没有准备好。

08年8月:奥运会。七年前的那天晚上,我在电视前兴奋北京申奥,七年后,我发现不过如此,感觉是那么的虚假,在我和它之间有一道无形的墙,那边的世界很精彩,可是你却感觉是超级女声一般的秀,也许这就是现实吧,跟我们的梦想都是有那么一段差距。

08年9月:闷。自习室的苦闷,坐不下去,强迫自己每天都去,可是心却不在。不知道自己在想什么,人生就是这么的让人烦,你追寻的是你想要的吗?你的追寻能得到你想要的吗?你得到的是你想要的吗?问题,都是问题。无底洞一般,进去就出不来。

08年10月11月:回家,坚持。闷的慌,趁国庆假期,回了一趟郑州,在丫头那待了三天,不去看书,不去想那些无聊的问题,我知道,我在逃避,可是,我没有放弃。坚持着自习室,坚持着复习,尽管还是很苦闷,我说服自己强迫自己走下去。

08年12月:鸟儿。每个人都有自己的苦闷,我在着挣扎着考研,那边有人在烦保研还是保博,就这么不公平。

08年,大学最后一年,我在挣扎着我的未来,我的未来在折腾我,尽力的去做一些事情,只为不让自己后悔,人生的思索会让我们认清楚自己,也可能让我们迷失方向,感到无所适从,我们能做的也只有是把握住现在那一点点机会一点点时间,去做了,去做好,就够了。其实幸福挺简单的,半夜肚子饿了的时候,口袋里有钱去买一碗串串香,跟喜欢的人一起吃的满头汗,笑着睡去,笑着醒来,就这。

Merry Christmas

转眼就到年底了,赶下时髦,过个圣诞节。今天24号,好像叫平安夜,Silent Night,平安夜快乐,再来句圣诞快乐,Merry Christmas Everyone.

Nanking Massacre

其实挺失败的,以前根本不知道南京大屠杀纪念日。昨天鸟儿过来,跟我说每年12月13号,南京就会拉警报,33分钟的警报长鸣,很有气势。今天咱也纪念一下。

如果忘记历史,历史就可能重演。

Smile in the sky

昨天傍晚时候吧,不到七点的样子,天空中双星伴月奇观。可惜当时没有看见,今天上网看了一下网上的照片,很帅,一个大大的笑脸挂在天空中,抬头看看,对自己微笑一个。