截止到今天下午,中午把自己的應用部署到了Google app engine,用了一周的時間啊,真是費勁周折
好長時間了,聽說Google出了個
Google App Engine - Google Code,說是可以讓用戶上傳自己的應用,但是只支持python,當時就想什么
時候支持java啦啊,上個月看新聞就聽說Google app engine 要開始支持java啦,哈哈,喜,到時候把我的寫的blog傳上去,哈哈
上周,終于知道了Google app engine終于開始宣布支持java了,哈哈呼呼,動手,到官網一看,沒有支持java的動靜啊,
對,英文頁面,哈哈,看來中文的還是慢一拍啊
首先到注冊一個,竟然還要手機號發注冊碼,Google了一下 說在手機號前加 86就OK了,填上手機號點按鈕,呦,短信馬
上就來啦,搞定,注冊成功。
這下下載SDK,還有eclipse插件,幫助文檔只有英文的,配合Google工具欄的翻譯功能,基本能看懂,哈哈,感覺一路下
來,英語水平有所上升啊,哈哈
打開eclipse,裝上插件,很輕松的建了第一個應用,插件自動生成了一個小實例,部署上去,驚嘆于Google的GWT
開始一直我原來寫的blog程序,原來到處找免費的空間,jsp的空間不好找,先是找了
http://www.eatj.com/,但是沒24小
時(好像是)就會自動停止,必須手動重啟服務,原來還堅持去上去看看,后來終于因為有一次很忙時間太長被注銷了,接下來就聽
說了
http://www.stax.net/,跟Google的路子差不多,好像還更自定義些,繼續使用著,搞java朋友可以去看看
因為google app engine使用Google Account,原來的用戶管理模塊需要剔除,原來數據庫使用的是mysql hibernate,現在
Google 使用JDO,數據庫被封裝了,還好,當初設計是采用了工廠模式,實現了數據庫訪問模塊與業務處理模塊的松耦合,很容易
配置數據庫訪問模塊的更改,感受到好的設計真是為以后修改省很多事啊。
接著說部署我的Google app engine,終于改好相關代碼,準備上傳了,噩夢開始了
1、Unable to upload:
java.lang.IllegalStateException: cannot find javac executable based on java.home, tried “D:\Java\jdk1.6.0_13
\jre\bin\javac.exe” and “D:\Java\bin\javac.exe”
參考http://zhuyx808.javaeye.com/blog/370124
http://onlypython.group.javaeye.com/group/blog/366471
http://618119.com/archives/2009/04/12/148.html
2、決定轉戰Linux..
手上有四個版本的Linux,Ubuntu,Redhat,Fedora,openSUSE,都裝過,后來感覺還是Fedora比較好用,我裝的是
Fedora9,Fedora10正在下載中
以下Linux安裝配置,僅限于在Fedora9上安裝通過,資料都是通過Google搜索得來,感謝各位網友,網絡的力量真是強大。
1、在VMware中裝上Fedora9后,首先安裝VMware-tools,方便與主機交互
首先需要下載相應的kernel-devel.rpm包進行安裝
首先查看內核版本:uname -r一下,我的是2.6.25-14.fc9.i686,
所以下載kernel-devel-2.6.25-14.fc9.i686.rpm,然后運行rpm -ivh kernel-devel-2.6.25-14.fc9.i686.rpm 進行安裝. 內核安
裝完畢后,需要用這個命令確定內核 C header 的安裝目錄:ls -d /usr/src/kernels/$(uname -r)*/include
安裝內核具體步驟如下:
[root@localhost ~]# uname -r
2.6.25-14.fc9.i686
[root@localhost ~]# rpm -q kernel-devel
package kernel-devel is not installed
[root@localhost ~]# cd /home
[root@localhost home]# wget ftp://rpmfind.net/linux/fedora/releases/9/Everything/i386/os/Packages/kernel-devel-
2.6.25-14.fc9.i686.rpm
[root@localhost home]# rpm -i kernel-devel-2.6.25-14.fc9.i686.rpm
[root@localhost home]# rpm -q kernel-devel
kernel-devel-2.6.25-14.fc9.i686
再安裝gcc,否則安裝VMware-tools時會提示:Setup is unable to find the "gcc" program on your machine. Please make
sure it
is installed. Do you want to specify the location of this program by hand?
[yes]
What is the location of the "gcc" program on your machine?
在命令行執行:yum install gcc
然后安裝VMware Tools就行了,打開菜單“VM -> Install VMware Tools”,然后有光盤自動彈出,把里面的源代碼拷貝出來.我的文
件是VMwareTools-6.5.0-xxxxx.tar.gz,我把它拷貝到/opt里.
安裝 VMware TOOLS
cd /opt
tar -zxvf VMwareTools-6.5.0-xxxxx.tar.gz
cd vmware-tools-distrib/
./vmware-install.pl
再一路安回車OK
2、由于在裝載xorg-x11-drv-vmmouse驅動時的一個bug,在客戶虛擬機的顯示中,鼠標位置可能不正確。直到被更新前,在客戶機
中添加Option NoAutoAddDevices到/etc/X11/xorg.conf文件的ServerFlags節中。如果需要,創建這個節:
Section "ServerFlags"
Option "NoAutoAddDevices"
EndSection
3、第一,安裝JDK
第一,到http://java.sun.com下載最新JDK,當前本人下載的是jdk1.6.0_02!下載文件:jdk-6u2-linux-i586-rpm.bin.注意是
rpm.bin的!
第二,給下載回來的文件增加執行權限:chmod 755 jdk-6u2-linux-i586-rpm.bin.
第三,執行文件:./jdk-6u2-linux-i586-rpm.bin.
第四,執行文件產生一個rpm文件,可直接雙擊執行也可以在shell下執行:rpm -ivh jdk-6u2-linux-i586-rpm.
第五:配置環境變量,環境變量配置可在全局文件/etc/profile下修改,這樣所有linux系統的用戶都可以用JDK,如果只是特定的
用戶用可修改/root/.bashrc文件,本人的修改為:
#java set
set JAVA_HOME=/usr/java/jdk1.6.0_02
export JAVA_HOME
export JRE_HOME=/usr/java/jre1.6.0_02
set JAVA_BIN=/usr/java/jre1.6.0_02
export JAVA_BIN
第五,當環境變量修改完后,重起系統,在shell下輸入java,看是否輸入相關JAVA幫助信息,如果有,說明已經安裝成功!如果沒有,
檢查一下變量環境設置是否有誤!
2,安裝Eclipse,Eclipse不需要安裝,只要解壓縮就行了
運行Google app Engine不需要Tomcat
3,安裝tomcat的方法跟安裝eclipse的一樣,也是下一個tar.gz的文件按安裝eclipse方法和步驟就行了!進入tomcat/bin
下./startup.sh,如果在shell出現jdk的相關信息說明已經安裝成功啟動了,在firefox下打http://localhost:8080/出現tomcat頁就
大成功了!
在以上的安裝過程之中,出現了小插曲,就是tomcat找不到JDK,后來我又到JAVA網站下了一個JRE回來安裝,并建JRE_HOME,重起
TOMCAT,成功了!
4、運行Google App Engine的應用,提示
** Unable to load Mozilla for hosted mode **
java.lang.UnsatisfiedLinkError:
/home/dhofmann/development/ide/gwt-linux-1.4.61/mozilla-1.7.12/libxpcom.so:
libstdc++.so.5: cannot open shared object file: No such file or directory
at java.lang.ClassLoader$NativeLibrary.load(Native Method)
解決辦法:
Search for stdc++5 in synaptic package manager (System->Administration->Synaptic) and then mark and install it. Or
use this console command:
yum install libstdc++.so.5
停止進程命令:
就是kill 比較不錯,如果kill不了. 加上-9
如#kill -9 1778
注1778 為進程pid
pid可以通過ps aux|grep 服務名查得
啟動Eclipse時,提示錯誤:
eclipse.buildId=M20090211-1700
java.version=1.6.0
java.vendor=Sun Microsystems Inc.
BootLoader constants: OS=linux, ARCH=x86, WS=gtk, NL=zh_CN
Command-line arguments: -os linux -ws gtk -arch x86
!ENTRY org.eclipse.ui.workbench 4 0 2009-04-18 02:12:18.085
!MESSAGE Widget disposed too early!
!STACK 0
java.lang.RuntimeException: Widget disposed too early!
at org.eclipse.ui.internal.WorkbenchPartReference$1.widgetDisposed(WorkbenchPartReference.java:171)
在網上搜索得知:
eclipse.ini文件加個參數
-vmargs
-Dorg.eclipse.swt.browser.XULRunnerPath=
在Fedora9中安裝拼音輸入法
保證Fedora 9聯網的狀態下
在application->system tools->terminal 應用程序->系統工具->終端
輸入
su 回車
提示輸入root密碼
yum install scim 回車
系統會自動從一個鏡uy像站點檢索scim,并詢問是否下載,選擇y
下載完成后輸入
yum install scim-pinyin 回車
提示和操作如上
然后輸入
scim 回車
(筆者的電腦運行到starting SCIM后就沒有反應了,不過沒關系這時候可以按ctrl+c中斷)
選擇Fedora 9
System->Preference->Personal->Input Method
系統->首選項->個人->輸入法
選擇啟用新特性,然后選擇里面的SCIM,然后選擇配置SCIM,
在進入后的界面中選擇Global Set 全局設置,在這里設置激活熱鍵即可,然后重新啟動電腦,就可以在Fedora 9下面使用中文輸入
法了 雖然有點麻煩 但畢竟fedora等眾多linux桌面系統還很年輕,有很多不足之處。
參考資料:
http://www.5dlinux.com/article/6/2007/linux_9042.html
http://zhidao.baidu.com/question/62290384.html
http://www.linuxidc.com/Linux/2008-09/16011.htm