我在linux下用eclipse做項目的一系列問題

一:web項目

1、新建時,一建成servlet就報錯;

原因就是我沒有選擇該項目的運行環境

就是這個target runtime要選擇一個服務器,如果沒有選,就會報servlet的錯。錯過了,不過也沒關係,我後面再配置。
打開這個項目的Properties->java Bulid path->Libraries->Add Libraries->Server Runtime,選擇tomcat服務器,如果server Runtime裏面是空的,是因爲還沒有添加服務器,添加運行時環境: Window->Preferences->Server->runtime Enviroment->add, 選擇tomcat版本確定,這樣工就不會報錯了。
2、用了el表達式引入taglib報錯。
就是這幾“<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>”報錯。其實就是缺少了兩個包一個jstl.jar和standard.jar。去下載下來放入web-inf下面的lib就行了,就只兩個,如果不是,就算代碼錯誤解決了,但運行時會出錯。
3、導入windows下已編寫好的項目報錯原因,即是error pages,這是編碼問題,然unbuntu下沒有gbk編碼。你可以參考http://blog.csdn.net/wingstudio_sau/article/details/1796870

以下內容來自http://forum.ubuntu.org.cn/viewtopic.php?t=67407&highlight=zh_CN.GB18030

ubuntu中文化指南 

前言:下面的文字只是針對採用zh_CN.GBxxx作爲locale的untuntu系統進行的設置指南。 
發現最近幾天又有人問這個問題了,下面的方法我查了半天的資料,花了很多功夫,總算是有了這個方法,因爲我個人對utf8確實沒什麼好感(這一點就不要爭 論了,個人印象如此,改不了了),所以和大家分享一下(其實我很懶,打了這麼多字,不容易啊),這個帖子前幾天發的,可能有人沒看到,編輯一下再頂起來, 希望需要的人可以看到,說實在的,網上關於linux設置中文locale的方法,都比較籠統,用起來總有這樣那樣的問題,希望這篇文章可以對你有幫助。 

注:linux文件系統的一些概念,linux的文件系統的文件名是基於字節流的,也就是說文件名的編碼以byte爲單位讀取的,所以文件名可以是多字節 編碼方案,比如gb18030, utf8,不能是寬字節編碼,比如如windows使用的utf16。所以只要是多字編碼方案的文件名,linux都是可以讀取的。 

1)爲glib的國際化支持產生國標編碼支持,ubuntu系統默認狀態下是沒有GB18030和GBK的本地locale的,所以爲了設置locale爲zh_CN.GB18030,我們需要先爲glib產生GB18030和GBK編碼的支持。 
1、首先設置sudo vi /var/lib/locales/supported.d/local 

添加一行 zh_CN.GBK GBK和zh_CN.GB18030 GB18030 

2、sudo locale-gen 
3、重啓之後,在登錄窗口的選項裏面就可以選擇中文(GB18030)了。 
4、進入系統後,終端的默認編碼已經是GB18030了,可以在終端中創建中文文件名的文件試試看,比如touch 中文,再ls顯示看看。 

2)作爲ubuntu重要組成部分的gnome是基於glib庫的,在glib的函數裏,默認讀寫文件名的編碼選項是utf8,所以使用gtk或 是gnome程序創建的中文文件名仍然是uft8編碼的,可以通過下面的方法驗證,在nautilus中進入/home/用戶文件夾,右鍵創建文件夾,取 一箇中文名字,在終端中ls顯示,會發現這個文件夾是亂碼,將終端的編碼切換爲uft8,發現至少可以部分正常顯示,說明文件夾的編碼是uft8。其實 glib提供了兩個宏,只要正確的設置,就可以告訴gnome程序,用戶要讀取的文件名的編碼是哪一種多字編碼方案,那麼文件函數完全可以採用 gb18030的編碼。 

使用gdm啓動Gnome的寫入用戶主目錄的.profile文件,當gnome啓動後,會讀取這個文件裏面的設置。 
添加以下內容: 
export G_FILENAME_ENCODING=GB18030 
export G_BROKEN_FILENAMES=1 
這是告訴使用了glibc的程序,系統文件名的默認編碼是gb18030,重啓後,再用上面的方法實驗,會發現終端裏面和nautilus中顯示的文件名已經是一致的了。 

經過上面兩步的設置,系統的工作環境就是gb18030了,可以很好的用中文工作,哪怕是編寫腳本,只要保存編碼改成gb18030就沒問題,哪怕是grep之類的命令,gb18030都可以很好的支持,使用中文的正則表達式除外。 

3)fat32分區的掛載,將locale改成zh_CN.GB18030之後,會發現掛載的分區中文文件都顯示亂碼,這是因爲ubuntu自動掛載分區時採用的參數是uft8,所以要重新修改掛載的參數。 
sudo gedit /etc/fstab 
比如c盤的掛載參數是類似於這樣 
UUID=466A-E277 /media/sda1 vfat defaults,utf8,umask=007,gid=46 0 1 
將utf8用codepage=936,iocharset=cp936代替,變成 
UUID=466A-E277 /media/sda1 vfat defaults,codepage=936,iocharset=cp936,umask=007,gid=46 0 1 
參數的含義可以用man mount查看(懶得打字了)其他fat32分區的掛載參數也同樣修改。 
重啓之後發現分區顯示也正常了。 
因爲我沒用ntfs分區,所以nfts分區的掛載方法請用man mount自己查看。 

gb18030環境下有問題的程序和解決方法。 
其實如果是基於規範的glibc函數編程的話,gb18030應該不會有什麼問題。 
1. mplayer 
安裝版的mplayer的打開文件的功能是看不見windows掛載分區上的中文文件的,不過可以在瀏覽器裏面直接雙擊打開,算是不是問題的問題吧。如果要編譯源文件的話,根據有的說明要暫時將locale改成utf8,編譯後再改回來就可以了。 

2.ubuntu自帶的歸檔管理器和7zip軟件在gb18030的環境下,讀寫中文文件名的文件是有問題的,解決方法是安裝rar,它是基於命令行的方式,對zh_cn.gb18030支持很好,如果嫌麻煩的話,好象可以編寫nautilus的腳本的,可以向windows中一樣右鍵解壓或是壓縮,不過俺不會,有人會的話可不可以提供個腳本? 


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章