页面

2010年7月14日星期三

eclipse的配置问题,漫长的环境配置之路

因为要和老师做jsp的开发,所以这两天就做了一些功课。win7下面的环境倒是还算顺利,一路配置下来,无非就是sdk,mysql,eclipse,tomcat。这些网上的教程都是大堆大堆的,这里就不罗嗦了。
但是,最近一直尝试过渡到linux下面,所以就在ubuntu找了以下相关软件。

需要的软件,navicat,eclipse,mysql等等都有linux版。(navicat的linux版是免费的,win下面是收费的还要破解……)不过中间出了一些问题。这里贴出来,希望那些通过谷歌找到这篇文章的同学能有所帮助。

先说一下,我主要想说的是eclipse中出现java.sql无法引用的问题。
关于这个问题,网上的说法很多都是说环境变量CLASSPATH配置的问题。从原理上来说,确实是有这个可能,但是我的不是这个问题。如果又遇到相同问题的同学,而且通过修改classpath没有解决,可以直接跳过一,从二开始。


一.sdk的配置

因为要用到java和jsp,所以首先要装sdk。sdk去sdk的官方网站就可以下载。
网上又终端的安装方法:
sudo apt-get install sun-java6-sdk
但是我使用的结果是失败。应该是源的问题。

sdk的安装不是我们讨论的重点。我这里重点说一下环境变量的配置。

网上所说的方法有很多,关于配置环境变量,我总结了以下,大概是修改这三个文件都可以成功(修改改一个就可以了)。分别是
~/.bashrc
/etc/profile
/etc/environment

修改的内容,主要是配置PATH,CLASSPATH ,JAVA_HOME这三个变量。设定JAVA_HOME 主要是为了修改方便。真正要用到的应该只有PATH,和CALSSPATH。但是后两个要用到JAVA_HOME。

PATH:这个类似于windows里面的windows/system32之类的路径。就是,当你在终端中输入一个命令,系统会去PATH中的路径找这个命令。linux的PATH本来应该包括/bin,/sbin之类的路径。而当你安装完sdk之后,在编译java文件的时候要用到javac这种java命令。所以我们要告诉系统去哪里找这些命令。
我们假设你的sdk装在~/sdk1.6这里。那么我们的javac命令应该在sdk1.6/bin目录里面。所以我们要把它添加到PATH里面。
在上面提到的三个文件里面最后面添加上
PATH=“………………:/home/sdk1.6/bin”
前面的………………是系统本来的PATH设置,只要在后面加上我们自己的就 可以了。
注意,在windows里面,系统环境变量的不同值之间用分号隔开,linux里面用冒号隔开。

CLASSPATH:这个路径中包含了你在java中生成的类和java自带的类。如果设置失败可能会导致一些类的方法无法调用。
一般我们要包括~/sdk1.6/lib/tools.jar,~/sdk1.6/jre/lib/dt.jar等文件。这些文件里面包含了我们常用的一些类,比如java.sql.*等。所以我们要在环境文件中添加

CLASSPATH=.:~/sdk1.6/lib/tools.jar:~/sdk1.6/jre/lib/dt.jar:$CLASSPATH

上面这句话里面要注意
1.等号后面有一个“.”,作为第一个变量值,表示当前目录。后面分别是刚才提到的两个文件。
2.最后面的$CLASSPATH是因为,防止已经有了这个CLASSPATH,如果我们不佳最后的$CLASSPATH,以前的变量会被这次的内容覆盖。加上最后这个符号,则表示添加内容。


最后说一下JAVA_HOME。这个其实有点像是宏定义。因为我们可以看到,刚才配置的两更变量,中间路径用到了很多相同的路径~/sdk1.6/。所以我们就把它定义成JAVA_HOME,使用起来比较方便。这样再顶一以上的变量的时候,就可以通过%JAVA_HOME%来引用~/sdk1.6/了。而且一旦以后要修改环境变量,我们直接修改JAVA_HOME就行了。

JAVA_HOME=~/sdk1.6/


二.eclipse的错误
eclipse安装过程我就不罗嗦了。就是解压,改权限而已。

我吧一个工程考过来,然后设置eclipse的服务器tomcat。配完之后,选中index.jsp文件,选择run as...-->run on server。在语句“import=java.sql.*”提示错误

The import java.sql cannot be resolved



说明这个包引入失败

csdn里面有人遇到类似的问题,说是sdk没配置好导致的。于是我才看了大量的sdk的配置的东西……
然后查了资料,发现java.sql是在rt.jar里面。所以更加坚信了,是CLASSPATH的配置有了问题。

结果,我就离真相越来越远。

真相在这里:

http://blog.csdn.net/JeamKing/archive/2010/04/30/5544896.aspx

其实很简单,只是当时我找错了方向而已。不过作为补偿,倒是了解了不少sdk和jdbc的原理。

关于jdbc,mysql驱动,我会再写总结的。

第三.eclipse中的中文乱码。

关于这个乱码,其实大多数是在windows下面是好的,到了ubuntu就成乱码了。这是因为,ubuntu默认的中文编码是utf8,而非gbk或者gb18030。所以我们要手动位ubuntu添加gbk编码
方法如下:编辑/var/lib/locales/supported.d/local文件,在后面添加
zh_CN.GBK GBK
zh_CN.GB18030 GB18030

然后终端运行
sudo locale-gen

之后,ubuntu环境就可以支持gbk编码了

我们转到eclipse下面,对文件或者堆工程进行操作

选中文件活工程,右击,选择properties(首选项)->resource(资源)->text file encoding,编码选项里面没有gbk和gb18030,需要自己填写。填上需要的编码,apply应用之后,应该乱码就正常了。


好了,电脑也快没电了

总之,从昨天开始,面对这些错误,不停地谷歌谷歌谷歌,却一直得不到解决,确实很打击我。但是最终还是找到了解决方法。

我有自己的野心,必须面对自己。

希望志同道合的同学,一起进步吧。
以上。

中下晨之梦


当我们的作品可以勉强跑起来,足够我们通过课程设计的答辩的时候,自习室的窗台已经有晨曦爬了进来。尽管在夏天,天亮的比较早,但我们还真是和代码斗争了一整晚。电脑桌面上的时钟忠实地告诉我,还有一个小时就到了早饭时间了。


你知道,我这里是指的正常的早饭时间,也就是七点到七点半的时间。


我和猫说,难得有机会早起,我们去吃早饭吧。猫说,太早了吧。我说那我们就出去走走吧。


凌晨的那场世界杯比赛已经踢完了,狂热的球迷也都已经在舍友的呓语中翻身爬到自己的床铺。走廊里和谐静谧,只有自己的脚步声。整个世界一下安静的让人觉得陌生。在这个吵吵闹闹喋喋不休的城市,就算是大学里面也每天充斥这各种罗哩罗嗦的事情。这种麻烦事情向海草一样束缚住理想的手脚。你想摆脱它,但很多时候却不得不以它为食。最大的悲剧莫过于,被包养的同时还想独立。


大学生就是这样一个茶几。


我们走出公寓的时候,天已经大亮。早晨的气温正合适,阳光明媚而不狂暴,目所能及处,色彩都很明丽。路旁的商店还没开。路上行人也很少,都是早起晨练的大叔阿姨。环境和谐到如梦似幻的地步。除了一晚上的脑力劳动导致肚子极饿之外,唯一让我不爽的也就是,如此良辰美景,和我一起出来的确是一哥们。不管怎么说,能看到六点之前的景色的机会我实在没多少。这样浪费在一个男的身上还真是。


罪孽深重。


我们从五公寓门前绕过图书馆那段阳光大道,折入校医院附近的绿茵路。路过好像倒闭一样的留学生餐厅,一路走向正门。从树间渗过的光线,在微薄的晨雾中显出笔直的光路,照在我们身上,好像真的朝气蓬勃的样子。


本来的打算是,到门口找家饭馆吃个正常点的早点。这也是我很久没有体验的人生体验之一。然而,机会并不是你想有就有的。果然,难得这么早的时间是清醒的,却又太早了。


在国内果然要中庸,太早太晚,你都是没饭吃的那个。


不过,虽然只有一位卖煎饼的大婶,学校门前的小吃棚总算已经有人了。


这个棚子虽然简陋的很,卫生很随意,却是著名的聚餐地。众多厨师各自分的一席之地,各自在自己的一席之地卖各自的炒饭煎饼,凉面米线。虽然种类繁多,但我觉得这里的食物并不算物美价廉。然而每天,这里的残旧的铁餐桌酌上面还是摆满了各类风味小吃,餐桌之间流动着各类定餐的同学。这也是很符合逻辑的。就算是珍馐锦食,日复一日总会让人厌烦的。更何况在餐厅,每天要面对同样的餐具和不同的参杂物。


往日我只见过中午和晚上的棚子,所以觉得今天的棚子格外冷清。不过这位大婶我倒是很熟的。因为我在棚子里面吃到的第一个产品就是大婶的煎饼。虽然没有什么处女情结,但是第一次总是给人深刻的印象。而且总体来说,大婶总是和蔼可亲,和客户们的关系处的很好。棚子里的人大都是这样,对学生称兄道弟亲切的紧。这种轻松的气氛,完全可以弥补事物本身的质量。


煎饼大婶看我们走过去,便问,来两个煎饼?我们答,好。她有问,吃辣椒么?我说不要。猫说,那把他的辣椒都给我。她笑了笑说,好,稍等一会哈,炉子马上就热,阿姨马上给你们做。


看来炉子热得不会很马上,如果“马上”指的是五分钟之内的话。


大婶一边调整炉子一边跟我们说,今天是最后一次吃阿姨的煎饼了,不让俺们干了,让俺们停工一个月。


我心想,从她后面那句话来说,“最后一次”应该是这个月最后一次的意思。考虑到一个月内我们就要放假,最多也就是本学期最后一次。但是后面那个“不让”,我不知道是什么意思。


我看了看猫,他表示不明真相。然后他问,为什么。


大婶,说,W市要参选文明城市,让俺们停工一个月。


我的感觉是,大婶很需要向人倾诉。果然,大婶叹了口气,接着说道,W市每年都是这样,去年就让我们停工一个星期,今年让停工一个月,这让俺们怎么过。你要是能评上也行,评了好几年也评不上,今年急眼了。这跟俺们也没关系啊,俺们不干就能评上了?就会欺负俺们老百姓…………


大婶虽然一直在倾诉,语气却很低缓,好像梦语,让人多生无奈。


听了半天,我第一反应是,大婶的言论不和谐,仅代表她个人观点。我们只是路过恰好旁听,并非有意传播,而且我们并没有表示支持她的观点,希望不要被跨省。

第二反应是,W真悲剧,评了这么久都没评上,但这应该是公关的问题,而非煎饼的问题。

第三,“不让干了”是不让“棚子”干了。而棚子里,大婶这家和很多在这里卖餐的人,都是夫妻搭配。也就是说,一下子全家都失业了。


作为最底层的草根,失业一个月,对W经济快速发展的影响甚微,可以忽略。只是这一个月,草根过的一定会很辛苦。


身体和心理都会很辛苦。


我和猫都不是善于言谈的人,对于大婶的这些话,我们不知道该怎么应答。看起来好像很冷漠,其实只是沉默。


对于这种事情,我们每天在网上可以看到很多。后来我们看不到了,但是学会了翻墙。翻过墙才发现,原来翻墙是为了看墙里面的世界。而且原来这种事情在这个世界越来越多了。

我们一直抱着围观的态度,却从来没有做好在现实中围观的心理准备。我找了半天,也没有在棚子周围发现添加评论的地方。所以,我能做的就只剩下沉默了。


我想,猫大概也差不多吧。


我们在那里站着,棚子周围,我们周围,来来往往的人多了起来。好像我们静止在人流中,定格在一个莫名其妙的mv画面中。


我只是想说,沉默让气氛有些尴尬。


大婶倒也不为难我们,岔开话题,问我们是从网吧来还是从学校来。猫说从学校来。大婶说那你们起的还真早。我说不是起的早,是一夜没睡。做了一晚的作业。

大婶说,那你们也真辛苦。


煎饼做好了,我们付了正好的钱,拿了煎饼。

大婶说慢走哈。


我记得,以前大婶都是说“下次来哈”的。


在慢走的路上,我问猫,怎么你不救济一下大婶么?

猫咬了一口煎饼说,你是在同情人家么?他们靠自己的劳动生活,这种尊严你有资格同情么?要救济就多给点钱,五毛五毛的救济,有猫咪意思。


我认为他说的不错,于是说,嗯,我觉得,今天的煎饼不太好吃。


走进学校,旭日已然高升,路的两旁花红柳绿。广场上晨练的音乐已经向起来。一瞬间,又是满目的阳光明媚,草长莺飞。头顶的天空湛蓝剔透,让我觉得,刚才好像做了一个很远的梦。好像是个噩梦。


那就忘了吧。

2010年7月11日星期日

ubuntu10.04 wubi安装的问题

考完了,这两天又空,决定重新装上ubuntu。硬盘里面又10.04的镜像,解压之后又wubi。以前一直在虚拟机里面装,这次想用wubi试试。没想到,纠结的历程开始了。

用wubi安装倒是很方便,而且很快。基本不需要设置,装完之后直接进去系统。

锐捷客户端用的是mentohust,很好用,直接连接上,而且记录你的用户名密码,以后都不用输入了。修改到到conf文件里面自己改,不多说了。

然后就是联网,更新。完成之后,装显卡驱动,更新语言支持。重启进来之后基本上就很舒服了。

浏览器用的是chrome。受不了火狐到速度~~

打开chrome,提示需要插件播放元素。是需要flashplayer,很正常。当时有别到事情,就没管他。后来在火狐里面装了flash插件。应该会提示有三个可用插件,我都装了。

然后基本上就可以看视频了。但是奇怪,没有声音。

系统到声音是正常到阿。

然后就谷歌。在ubuntu社区里面,有人说是播放软件独占输出,要在新立得删掉一个东西(具体忘掉了)。删掉之后,果然是有声音了……但是,系统托盘上面到音量控制图标不见了,就是那个小喇叭。

漫长的查找之旅……

最后是安装了一个音量控制到插件……和系统到不太一样,不过还是可以托在托盘上面。算是解决了。

然后……最纠结到事情开始了。

视频阿视频。网络视频不能播放。

firefox装了三个插件之后,有些视频可以播放,但是很多都是在视频到位置出现一块白色到色快,或者黑色到色快,总之就是底色。优酷部分视频会出现这个东西,土豆我只试了几个,都不能播放。人人分享到视频也出现大量这种东西。

即使是能播放,很大几率会出现卡死系统到情况,这个我发现一些网友也会出现这种情况(好像都是在chrome里面发生的)。

还有一种情况,就是一些flash控件的播放器,比如音乐播放器(豆瓣音乐)和视频播放器(在线动漫的一些)会出现所有flash元素显示出来,但是不能正常播放。谷歌音乐的播放器是出现空白。

基本上就是这些问题了。

对了还有一个很神奇的问题……观海上不来了。

喵,这让我很费解。无论怎么输入,都提示密码错误。悲了个剧的。

关于那些播放到问题,我在网上找了很久,无非都是说flash插件的安装问题,自动安装手动安装都试过了。没用。

看到chrome6.02之后自带flash播放插件,下载下来还是不行。

看关于flash插件到问题,了解到flashplayer10.01只出了32位,wubi默认装的是64位到系统。

apt-get 重新安装了各个插件……依然悲剧。

我问了几个装10.04的人,大家都很和谐。我和他们唯一到区别就是我装的是wubi。

于是,一狠心,重新来过。。。

重新安装过后发现装的是32位。

装完了以前都和谐有爱了。

打开chrome之后,没装插件,也能正常播放各大视频。喵喵咪阿。

就这样吧,算是解决了吧。应该就是flashplayer到问题吧。chrome到扩展程序“Google Services Notifier”在64位系统下面也没办法用。顺便推荐以下这个扩展,很方便,Gmail,Greader,Bolgger,Wave等等服务的信息更新都会提示。

另外,根据网上的教程,wine装qq在64位下面也失败了,fg倒是成功了。

怀疑是因为fg不用安装到原因。

一会再32位下面试一下。


好了,情况大概就是这样。总之,在使用wubi 到同学,不要被我上面遇到的问题打击了你对ubuntu的热情。装32位的系统还是很和谐的,(貌似速度有点降,不知道是wubi快还是64位快还是我心里作用)。

qq要是装成功了,会回来发贴到。

以上。

wine运行qq2009

首先,作为新手,对linux新手罗嗦以下,什么是wine。wine就是让你在linux环境下运行exe程序到东西。他会模拟出一个windows到环境来跑exe。所以相应的,你要把软件需要到系统环境准备好。其实很简单,具体看下面。

第一,安装wine。
虽然有文档说最新版到wine会不太稳定,但是我找的大部分到用户教程都建议用最新版,因为它会修复许多很麻烦到bug(也可能大多数到教程都是copy到一个人的……)。反正我是用了最新版本。

ubuntu下,终端里运行命令:

sudo apt-get update sudo apt-get install winesudo apt-get update
sudo apt-get install wine
复制代码


安装还是很方便的。默认的位置是/home/user/.wine/在里面到drive_c目录下面,你就可以看到熟悉到windows“文件夹”和program files“文件夹”了。


第二,配置。


“应用程序”->wine->configure wine,
或者在终端运行:
winecfg
复制代码



会弹出配置窗口。
在一篇国外的文档说明里面提到,你至少要运行一次配置程序,才能配置出windows环境。我没试过不配置直接运行,会出现什么问题不清楚。
在配置里面,现在基本上没什么设置到。在“音效”标签里面会配置以下声音到环境。应该也不是必须的。


wine下的中文环境需要你自己配置,否则在安装中文文件的时候,会出现口口口的现象。


配置方法是:
从windows环境中到c:\windows\fonts\中把字体simsun.ttc复制到/home/user/.wine/drive_c/windows/fonts里面。然后把以下代码保存成reg文件。比如simsun.reg。
REGEDIT4
[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\FontSubstitutes]
"Arial"="simsun"
"Arial CE,238"="simsun"
"Arial CYR,204"="simsun"
"Arial Greek,161"="simsun"
"Arial TUR,162"="simsun"
"Courier New"="simsun"
"Courier New CE,238"="simsun"
"Courier New CYR,204"="simsun"
"Courier New Greek,161"="simsun"
"Courier New TUR,162"="simsun"
"FixedSys"="simsun"
"Helv"="simsun"
"Helvetica"="simsun"
"MS Sans Serif"="simsun"
"MS Shell Dlg"="simsun"
"MS Shell Dlg 2"="simsun"
"System"="simsun"
"Tahoma"="simsun"
"Times"="simsun"
"Times New Roman CE,238"="simsun"
"Times New Roman CYR,204"="simsun"
"Times New Roman Greek,161"="simsun"
"Times New Roman TUR,162"="simsun"
"Tms Rmn"="simsun"
复制代码

然后在reg文件到目录下,终端运行
regedit simsun.reg
复制代码


应该就没问题了。


第三,设定qq到安装环境。
qq要用到很多windows的dll文件,还需要ie环境。这里我们用winetricks。终端安装:
wget http://www.kegel.com/wine/winetricks
sudo apt-get install cabextract
chmod +x winetrickssh winetricks msxml3 gdiplus riched20 riched30 ie6 vcrun6 vcrun2005sp1
复制代码


第四,安装qq2009
其实到现在为止如果没出什么大错,就没什么说的了。下载qq2009,然后直接双击打开就行了。
不提倡直接这么打开,一个是容易出错(目前我还没出过错),第二是如果出错了没有错误提示。


可以在qq2009的路径下面,运行
wine qq2009.exe
复制代码


如果你的中文环境没问题,就是中文安装界面。虽然显示有些奇怪,因为只有一种字体,而且边缘处理也不太好,不过功能上应该是没什么问题了。






算了,2009好像没有刷子,马赛克不好打……就这么看吧。
点最小化按钮会在右上角又图标,不过在有信息的时候,指向闪烁到图标,信息的预览还是在右下角,不太方便。
而且,我发现同时挂两个qq的时候容易发生qq的崩溃(一个崩溃,一个能用)。如果挂两个qq,不要同时打开两个
qq聊天窗口。

第四。后记
我在wubi到时候曾经尝试装2010.当时虽然安装失败,但是安装文件是可以运行到。不过现在安装文件在我这里打不开。只能安装2009。有兴趣的同学可以尝试以下。
不只是qq,魔兽星际什么的,都有人在跑…………

而且还有fg哦~~fg更简单,因为不用安装,直接能用呵。

这里只是抛砖,大家自己玩吧。
以上。

顺便说一下,在这个环境下面,魔兽我已经跑起来了。
运行魔兽要注意两点。
第一是要把安装目录下面的movies文件夹重命名未_Movie。
第二是要在终端中运行wine 安装目录/War3.exe -opengl
重点是后面到opengl参数。
好了,玩去吧。

2010年7月10日星期六

c#的ListView的一些用法

前几天做了一个课设,大概是一个类似于日程助手的东西。
就是写个备忘,到事件提醒你。
东西本来倒不是太难,不过以前没有用过c#,而我主要是做交互界面那里,所以有些东西还是费了一点精力。
最主要是,很多控件不知道怎么操作属性。比如那个listview控件,我就挣扎了很久。不多废话,现在我大概总结一下我遇到的一些问题。
A.首先说listview。
1.显示网格
listview默认是不显示网格的,也就是当你选中某一项的时候,显示出一个蓝色的长条选取,但是不选中的就没有任何表示。打开网格显示是将gridline属性设为true。
2.显示各列的item。
默认listview是不显示各列的名称的。需要将View属性调为“Details”.
3.添加一行。
设控件名为list,如果是单列的话,就直接
list.items.add("显示的内容");
如果是多列的话,就需要如下代码:
ListViewItem ls = new ListViewItem("第一列内容");//创建一个行对象
ls.SubItem.add("第二列内容");
ls.SubItem.Add("第三列内容");
......依次类推
最后
list.items.add("ls");//把一整行添加到listview控件里面
3.得到选中的行的索引,即其行数。
本来,ListView是有一个list.SelectIndecs[0]的属性,返回的是选中的索引,还有一个list.SelectItems.Count的属性,返回一共选中了多少行。但是我在使用的过程中常常得不到正确的结果,还以为是自己的其他代码有问题。找了良久,才发现,原来在你选中一项的时候会调用两次SelectItems.Count,第二次的时候会把它的值赋为0。所以在代码中可以用if语句给过滤掉。
if(list.SelectItems.Count==0)
{
//空语句
}
else
return list.SelectIndecs[0];