如果#hwclock -w 出現以下錯誤
select() to /dev/rtc to wait for clock tick timed out
可以試試看使用 --directisa參數
#hwclock -w --directisa來進行寫入時間到BIOS的動作
同樣的,要看看BIOS上的時間為何,只要下
#hwclock -r --directisa即可
2008年3月7日 星期五
JSPWiki in Debian 安裝記實
首先:
到http://www.jspwiki.org/下載JSPWiki
我的版本是JSPWiki-2.6.1-bin.zip
再來以aptitude安裝tomcat5.5套件
ps.非tomcat5而是tomcat5.5
修改tomcat5.5啟動配置檔
sudo vim /etc/default/tomcat5.5
設定
JAVA_HOME=/usr/lib/jvm/java-1.5.0-sun
TOMCATS_SECURITY=no
然後:
解壓縮JSPWiki-2.6.1-bin.zip
7z x JSPWiki-2.6.1-bin.zip
就會產生JSPWiki/資料夾
建立/home/muchu1983/public_html/wikidata/的資料夾
並將JSPWiki/JSPWiki-corepages.zip copy到wikidata/資料夾下
解壓縮JSPWiki-corepages.zip
7z x JSPWiki-corepages.zip
更改wikidata/的權限
sudo chown tomcat55 wikidata -R
sudo chgrp nogroup wikidata -R
也將JSPWiki/JSPWiki.war copy到tomcat webapps下
sudo cp JSPWiki/JSPWiki.war /var/lib/tomcat5.5/webapps/
過一下子tomcat會自動將JSPWiki.war解壓,產生webapps/JSPWiki/資料夾
編輯webapps/JSPWiki/WEB-INF/jspwiki.properties檔案
更改以下幾行
jspwiki.pageProvider =VersioningFileProvider
jspwiki.fileSystemProvider.pageDir =/home/muchu1983/public_html/wikidata
jspwiki.basicAttachmentProvider.storageDir =/home/muchu1983/public_html/wikidata
儲存
以browser連到http://localhost:8180/JSPWiki/Install.jsp
直接按下Configure按鈕進行設定,
之後會亂數產生admin帳號的預設密碼,copy密碼
再連到http://localhost:8180/JSPWiki/就可以admin登入
到http://www.jspwiki.org/下載JSPWiki
我的版本是JSPWiki-2.6.1-bin.zip
再來以aptitude安裝tomcat5.5套件
ps.非tomcat5而是tomcat5.5
修改tomcat5.5啟動配置檔
sudo vim /etc/default/tomcat5.5
設定
JAVA_HOME=/usr/lib/jvm/java-1.5.0-sun
TOMCATS_SECURITY=no
然後:
解壓縮JSPWiki-2.6.1-bin.zip
7z x JSPWiki-2.6.1-bin.zip
就會產生JSPWiki/資料夾
建立/home/muchu1983/public_html/wikidata/的資料夾
並將JSPWiki/JSPWiki-corepages.zip copy到wikidata/資料夾下
解壓縮JSPWiki-corepages.zip
7z x JSPWiki-corepages.zip
更改wikidata/的權限
sudo chown tomcat55 wikidata -R
sudo chgrp nogroup wikidata -R
也將JSPWiki/JSPWiki.war copy到tomcat webapps下
sudo cp JSPWiki/JSPWiki.war /var/lib/tomcat5.5/webapps/
過一下子tomcat會自動將JSPWiki.war解壓,產生webapps/JSPWiki/資料夾
編輯webapps/JSPWiki/WEB-INF/jspwiki.properties檔案
更改以下幾行
jspwiki.pageProvider =VersioningFileProvider
jspwiki.fileSystemProvider.pageDir =/home/muchu1983/public_html/wikidata
jspwiki.basicAttachmentProvider.storageDir =/home/muchu1983/public_html/wikidata
儲存
以browser連到http://localhost:8180/JSPWiki/Install.jsp
直接按下Configure按鈕進行設定,
之後會亂數產生admin帳號的預設密碼,copy密碼
再連到http://localhost:8180/JSPWiki/就可以admin登入
2008年3月6日 星期四
jetty的request/response
jetty自己實做了request及response物件
來進行jsp/servlet的運作,
但jetty的handle方法是將request/response
以標準的HttpServletRequest/HttpServletResponse傳進來
所以如果要使用jetty新增或加強的功能就要做降轉(down cast)的動作:
來進行jsp/servlet的運作,
但jetty的handle方法是將request/response
以標準的HttpServletRequest/HttpServletResponse傳進來
所以如果要使用jetty新增或加強的功能就要做降轉(down cast)的動作:
Request base_request = request instanceof Request?(Request)request:HttpConnection.getCurrentConnection().getRequest();
Response base_request = response instanceof Response?(Response)request:HttpConnection.getCurrentConnection().getResponse();
例如:如果handler要阻止request繼續往下一個hadler傳輸,則可以handle方法加上
Request base_request = (httprequest instanceof Request) ? (Request)httprequest:HttpConnection.getCurrentConnection().getRequest();
base_request.setHandled(true);
WEB-INF\classes
寫jsp的webapp時
如果所寫的jsp有用到自定的class或是servlet
要放在webroot/WEB-INF/classes資料夾內
並且要依據class的package放好
則jetty會自動的把WEB-INF\classes設為classpath
如果所寫的jsp有用到自定的class或是servlet
要放在webroot/WEB-INF/classes資料夾內
並且要依據class的package放好
則jetty會自動的把WEB-INF\classes設為classpath
2008年3月5日 星期三
2008年3月2日 星期日
getPackage()
this.getClass().getPackage()
這個方法會呼叫到class的所屬ClassLoader之getPackage(String name)
而如果ClassLoader是特殊客製的,必須要記得在實作defineClass()這個方法時,
適時的呼叫definePackage(pkgname,null,null,null,.....);這個方法
ClassLoader本身有維護一個HashMap
definePackae()會以對應的pkgname產生一個Packae物件實例,存入這一個HashMap
如此一來客製的ClassLoader的getPackage(String name)方法才會正確運作,
否則只會傳回null。
這個方法會呼叫到class的所屬ClassLoader之getPackage(String name)
而如果ClassLoader是特殊客製的,必須要記得在實作defineClass()這個方法時,
適時的呼叫definePackage(pkgname,null,null,null,.....);這個方法
ClassLoader本身有維護一個HashMap
definePackae()會以對應的pkgname產生一個Packae物件實例,存入這一個HashMap
如此一來客製的ClassLoader的getPackage(String name)方法才會正確運作,
否則只會傳回null。
2008年3月1日 星期六
Linux 的網路校時
台灣的ntp server列表
##########ntpserver#############
time.stdtime.gov.tw
clock.stdtime.gov.tw
tick.stdtime.gov.tw
tock.stdtime.gov.tw
watch.stdtime.gov.tw
##########ntpserver#############
先安裝ntpdate這一支程式
#ntpdate [ntpserver]
再寫入bios
#hwclock -w
即可完成校時
##########ntpserver#############
time.stdtime.gov.tw
clock.stdtime.gov.tw
tick.stdtime.gov.tw
tock.stdtime.gov.tw
watch.stdtime.gov.tw
##########ntpserver#############
先安裝ntpdate這一支程式
#ntpdate [ntpserver]
再寫入bios
#hwclock -w
即可完成校時
2008年2月29日 星期五
MPlayer縮放問題
在debian下使用MPlayer時如果顯示全螢幕
會有畫面邊框變大,但實際畫面還是很小的問題。
可以在~/.mplayer/config這個檔案下加入以下這一行:
zoom=true
即可正常縮放
會有畫面邊框變大,但實際畫面還是很小的問題。
可以在~/.mplayer/config這個檔案下加入以下這一行:
zoom=true
即可正常縮放
2008年2月27日 星期三
classloader
java的classloader繼承自ClassLoader類別
classloader都會有一個parent的classloader
如果在new的時後沒有指定parent ()以super(parentClassloader)
會自動得以new該classloader的類別的所屬的Classloader做為parent
例:
AppClassLoader -> load -> ParentClass -> new ChildClassLoader()
假如ChildClassLoader的建構子沒有super(someOtherClassloader);
則ChildClassLoader的parent就是AppClassLoader(load ParentClass的classloader)
classloader在loadclass之前會先使用parent來loadclass
都找不到才會自己load
loadclass步驟會先使用findclass(),有找到再使用defineclass()
/********java.lang.ClassLoader()方法**********/
protected synchronized Class loadClass
(String name, boolean resolve)
throws ClassNotFoundException{
// First check if the class is already loaded
Class c = findLoadedClass(name);
if (c == null) {
try {
if (parent != null) {
c = parent.loadClass(name, false);
} else {
c = findBootstrapClass0(name);
}
} catch (ClassNotFoundException e) {
// If still not found, then invoke
// findClass to find the class.
c = findClass(name);
}
}
if (resolve) {
resolveClass(c);
}
return c;
}
/********java.lang.ClassLoader()方法**********/
假如自訂的ClassLoader沒有繼承getResourceAsStream()
取得resource會取不到,得到null
classloader都會有一個parent的classloader
如果在new的時後沒有指定parent ()以super(parentClassloader)
會自動得以new該classloader的類別的所屬的Classloader做為parent
例:
AppClassLoader -> load -> ParentClass -> new ChildClassLoader()
假如ChildClassLoader的建構子沒有super(someOtherClassloader);
則ChildClassLoader的parent就是AppClassLoader(load ParentClass的classloader)
classloader在loadclass之前會先使用parent來loadclass
都找不到才會自己load
loadclass步驟會先使用findclass(),有找到再使用defineclass()
/********java.lang.ClassLoader()方法**********/
protected synchronized Class loadClass
(String name, boolean resolve)
throws ClassNotFoundException{
// First check if the class is already loaded
Class c = findLoadedClass(name);
if (c == null) {
try {
if (parent != null) {
c = parent.loadClass(name, false);
} else {
c = findBootstrapClass0(name);
}
} catch (ClassNotFoundException e) {
// If still not found, then invoke
// findClass to find the class.
c = findClass(name);
}
}
if (resolve) {
resolveClass(c);
}
return c;
}
/********java.lang.ClassLoader()方法**********/
假如自訂的ClassLoader沒有繼承getResourceAsStream()
取得resource會取不到,得到null
2008年2月23日 星期六
sudo 應用
sudo工具平常的用法:
sudo command
但是這樣只能執行一筆指令
可以搭配su指令來使用,也就是:
sudo su -
這樣可以切換為root,看來和直接執行su沒有不同
重點是.....
使用sudo su來切換,使用的密碼是原帳戶的密碼,
可以保護root密碼不外洩。
最後面的 - 符號其實是su的參數,等同於su -l或su --login
意思是,切換身份後同時也配合新身份改變執行環境配置 (例如$PATH)
就有如以新身份重新登入一樣。
加上這個參數可以避免掉一些環境不同步的問題。
sudo command
但是這樣只能執行一筆指令
可以搭配su指令來使用,也就是:
sudo su -
這樣可以切換為root,看來和直接執行su沒有不同
重點是.....
使用sudo su來切換,使用的密碼是原帳戶的密碼,
可以保護root密碼不外洩。
最後面的 - 符號其實是su的參數,等同於su -l或su --login
意思是,切換身份後同時也配合新身份改變執行環境配置 (例如$PATH)
就有如以新身份重新登入一樣。
加上這個參數可以避免掉一些環境不同步的問題。
2008年2月19日 星期二
vnc
vnc軟體有許多個分支
無論安裝了哪一個vnc軟體
debian圴會自動把
vncserver 鍊結到所安裝的vnc軟體的server程式
vncviewer 鍊結到所安裝的vnc軟體的client程式
以tightvnc/debian為例:
要安裝tightvncserver、tightvncviewer,
如果要增加以browser java applet來連線的話
要多裝tightvnc-java套件,並在vncserver啟動時指定-httpport參數。
而且vncserver啟動時會執行$HOME/.vnc/xstartup這一個shell script
以xfce為桌面(wm)的主機上
原本的xstartup設定無法以vncviewer成功啟動xfce
必須修改為以下3行
#######xstartup#######
#!/bin/sh
unset SESSION_MANAGER
startxfce4 &
########################
並且要記得chmod a+x xstartup
無論安裝了哪一個vnc軟體
debian圴會自動把
vncserver 鍊結到所安裝的vnc軟體的server程式
vncviewer 鍊結到所安裝的vnc軟體的client程式
以tightvnc/debian為例:
要安裝tightvncserver、tightvncviewer,
如果要增加以browser java applet來連線的話
要多裝tightvnc-java套件,並在vncserver啟動時指定-httpport參數。
而且vncserver啟動時會執行$HOME/.vnc/xstartup這一個shell script
以xfce為桌面(wm)的主機上
原本的xstartup設定無法以vncviewer成功啟動xfce
必須修改為以下3行
#######xstartup#######
#!/bin/sh
unset SESSION_MANAGER
startxfce4 &
########################
並且要記得chmod a+x xstartup
2008年2月17日 星期日
browser 的 java plugin
在debian下的iceweasel/mozilla 瀏覽器
如果要看applet的話,
除了安裝sun-java5-jdk之外
還要加裝sun-java5-plugin
如果要看applet的話,
除了安裝sun-java5-jdk之外
還要加裝sun-java5-plugin
2008年2月16日 星期六
debian 的 update-alternatives
sudo update-alternatives可以進行/etc/alternatives下
之鍊結目標的修改
例如同時裝了多個jvm在一台主機上時
執行java其實會執行/etc/alternatives/java (soft link)
透過對/etc/alternatives/java的修改可以改變執行的jvm
例:
sudo update-alternatives --list command 列出command有哪幾個鍊結可選擇
sudo update-alternatives --config command 改變command的鍊結
sudo update-alternatives --all 一次設定全部的command
之鍊結目標的修改
例如同時裝了多個jvm在一台主機上時
執行java其實會執行/etc/alternatives/java (soft link)
透過對/etc/alternatives/java的修改可以改變執行的jvm
例:
sudo update-alternatives --list command 列出command有哪幾個鍊結可選擇
sudo update-alternatives --config command 改變command的鍊結
sudo update-alternatives --all 一次設定全部的command
2008年2月15日 星期五
JAXB and JDK
JAXB使用上遇到的問題 後續~~~
在jdk1.6上使用jaxb2.1的lib會有問題。
建議為jdk1.5 + jaxb2.1
eclipse的jvm不能指定jre的資料夾
要指定jdk的資料夾,否則,無法在eclipse下進行javac的功能
如:ant compile
在jdk1.6上使用jaxb2.1的lib會有問題。
建議為jdk1.5 + jaxb2.1
eclipse的jvm不能指定jre的資料夾
要指定jdk的資料夾,否則,無法在eclipse下進行javac的功能
如:ant compile
2008年2月13日 星期三
hibernate tools過瀘
eclipse hibernate tools plugin的Code Gernation如果沒有設定
會取出.cfg.xml指定的資料庫下的所有table
可以透過hibernate.reveng.xml這個設定檔來進行過瀘
eclipse hibernate tools plugin也有提供產生hibernate.reveng.xml的精靈
會取出.cfg.xml指定的資料庫下的所有table
可以透過hibernate.reveng.xml這個設定檔來進行過瀘
eclipse hibernate tools plugin也有提供產生hibernate.reveng.xml的精靈
2008年2月11日 星期一
XDNA-5.2
快速開發XDNA-5.2專案筆記 假如build.xml初始化為5200 有f的選項也許可以省略
http://xsquare.transtep.com/~david/eclipse
build.xml 5119 > 5200 f
[root]ant clean-all sample init f
reconfigure build path f
remove server/service/xdna_default_modules-5.1 f
use conf/*.sample replace conf/* (client/initial/* too) f
client/conf/system.ini CONST_HTTP > HTTP
server/conf/system.ini XDNA_DB use h2 ; duty use postgreSQL
client/initial/UPGRADE_SERVER_DB_SCRIPT.SQL create table dutyrecord
create .xsd
use XJC turn .xsd to .java (common/src)
create hibernate.cfg.xml (for duty database)
run server once to create database
use hibernate tools turn table to .java (server/src)
[問題] license 過期 不可在 root 下 ant sample f
write service module
write definition.xml
write client MVC
write package.properties
[root]compile dist (server/service/Demo.default)
run server/client
ps. [root]ant init 可產生 server/service/xdna_default_modules-5.2
http://xsquare.transtep.com/~david/eclipse
build.xml 5119 > 5200 f
[root]ant clean-all sample init f
reconfigure build path f
remove server/service/xdna_default_modules-5.1 f
use conf/*.sample replace conf/* (client/initial/* too) f
client/conf/system.ini CONST_HTTP > HTTP
server/conf/system.ini XDNA_DB use h2 ; duty use postgreSQL
client/initial/UPGRADE_SERVER_DB_SCRIPT.SQL create table dutyrecord
create .xsd
use XJC turn .xsd to .java (common/src)
create hibernate.cfg.xml (for duty database)
run server once to create database
use hibernate tools turn table to .java (server/src)
[問題] license 過期 不可在 root 下 ant sample f
write service module
write definition.xml
write client MVC
write package.properties
[root]compile dist (server/service/Demo.default)
run server/client
ps. [root]ant init 可產生 server/service/xdna_default_modules-5.2
2008年2月9日 星期六
linux 下聽廣播
http://jason.onweb.idv.tw/radio.asp
下的廣播鍊結均為mms://類型的鍊結
可以簡單的以mplayer來進行播放
如:
mplayer mms://url_of_radio &
即可
下的廣播鍊結均為mms://類型的鍊結
可以簡單的以mplayer來進行播放
如:
mplayer mms://url_of_radio &
即可
2008年2月2日 星期六
eclipse - xml schema editor 安裝
在eclipse 3.3之後eclipse分為五種package
java 、 jee 、 c/c++ 、 rcp/plugin 、 classic
可供下載,這些package之間不同是預設所提供的 plugin不同
其中以 classic 的最精簡;而 jee 的最完整。
eclipse官方下載頁有他們之間的比較圖
classic版和3.2.x的eclipse一樣沒有提供一個好用的 xml schema editor
該editor是屬於wst特性下的,所以可以勾選...
help -> software updates -> find and install -> search for new features to install ->
-> XXX discovery site -> web and j2ee development -> web standard tools
並點選右方的select required 來一併選擇與wst特性相依的特性 即可安裝
java 、 jee 、 c/c++ 、 rcp/plugin 、 classic
可供下載,這些package之間不同是預設所提供的 plugin不同
其中以 classic 的最精簡;而 jee 的最完整。
eclipse官方下載頁有他們之間的比較圖
classic版和3.2.x的eclipse一樣沒有提供一個好用的 xml schema editor
該editor是屬於wst特性下的,所以可以勾選...
help -> software updates -> find and install -> search for new features to install ->
-> XXX discovery site -> web and j2ee development -> web standard tools
並點選右方的select required 來一併選擇與wst特性相依的特性 即可安裝
2008年2月1日 星期五
linux 下的 youtube 下載器
http://www.arrakis.es/~rggi3/youtube-dl/
youtube-dl 是一支python程式
先chmod a+x
再放到/usr/local/bin下
用法 youtube-dl [option] url_of_video
安靜地在背景下載:
youtube-dl -q url_of_video &
另外
ctrl-z 可暫停目前job並放到背景下
bg %1 可在背景下啟動暫停的程式 1為jobs所定的編號
fg %1 可把肩景程式移到前景來
youtube-dl 是一支python程式
先chmod a+x
再放到/usr/local/bin下
用法 youtube-dl [option] url_of_video
安靜地在背景下載:
youtube-dl -q url_of_video &
另外
ctrl-z 可暫停目前job並放到背景下
bg %1 可在背景下啟動暫停的程式 1為jobs所定的編號
fg %1 可把肩景程式移到前景來
訂閱:
文章 (Atom)