日前拜歐下載一個喜歡的Eclipse主題回來,卻發現他「行數」的顯示的地方太淺,看得有點吃力。
這時可以到「Preference」中自己去修改,可以直接在行數的地方按「右鍵」,再點按「Preference...」,如下:
會開啟如下的對話窗,再點按「Text Editor」:
這時會開啟「Text Editors」的對話窗。
在上列的對話窗中的下方區塊中,選到「Line number foreground」,再點按「Color」旁的顏色按鈕,就會出現下面的「色彩」對話窗給你自己定義,很方便吧!
在Eclipse中其實有很多地方的顯示,你可以調整成你喜歡的「Style」,換個自己喜歡的顏色,就像人換穿自己喜歡的方服一樣,寫程式的時候,心情也許會好一點,哈!
註:拜歐的版本為:
依Eclipse的版本不同,設定方式可能有稍微不同。
Amazon Ads
2013年8月10日 星期六
2013年8月8日 星期四
[分享] Oracle Certified Expert, Java Platform, Enterprise Edition 6 Enterprise JavaBeans Developer (OCEEJBD6,1Z0-895)的EJB認證準備
拜歐實在不知道這個認證的縮寫,應該是OCEEJBD吧!它的考試代號為:1Z0-895,要考這項的話,考試券其實就跟考之前SCJP、SCWCD的一樣。
在Oracle的官網,有相關的說明。
一樣在Coderanch的認證討論區中,有介紹的專區。
另外就是有賣相關教材(模擬考題)的EPractize Labs,還有,國外論壇考過的人都比較建議這一套Enthuware。
考試準備參考資料:
參考來源:
http://www.coderanch.com/t/614320/sr/certification/Passed-OCE-EJBD
在Oracle的官網,有相關的說明。
一樣在Coderanch的認證討論區中,有介紹的專區。
另外就是有賣相關教材(模擬考題)的EPractize Labs,還有,國外論壇考過的人都比較建議這一套Enthuware。
考試準備參考資料:
- EJB 3.1 Specification document,可以從這裡下載。(天啊!六百多頁)
- OReilly出版的Enterprise JavaBeans 3.1
- Frits Walraven和Ivan Krizsan提供的筆記(這兩位真是佛心來的)
- Coding練習
參考來源:
http://www.coderanch.com/t/614320/sr/certification/Passed-OCE-EJBD
2013年8月2日 星期五
2013年8月1日 星期四
[分享]Java包Exception
假設:
package
idv.jk.exception;
public class ExceptionWrapper {
public static void main(String[] args){
try {
new ExceptionWrapper().div(1, 0);
} catch (Exception e) {
e.printStackTrace();
}
}
public int div(int a, int b) throws Exception{
return a/b;
}
}
當這段程式執行後,因為1/0的關係,一定會造成Exception:
java.lang.ArithmeticException: / by zero
at idv.jk.exception.ExceptionWrapper.div(ExceptionWrapper.java:14)
at idv.jk.exception.ExceptionWrapper.main(ExceptionWrapper.java:6)
若循著error stack去找,通常可以很快找到是那行程式出錯。
但這時你又會想,靠!使用者是傳了那個白癡參數進來!
一定會想在第一時間拿起電話,打給使用你API的人說,你不可以這樣用(一邊心裡os:傻蛋),但這年代是講證據的,你總要有一份證據,才能說一段話。但通常你的語氣是:「不好意思,造成了你的困擾,可以請問一下你傳的參數是?」
所以在這樣的需求下,你應該介入去控制你的Exception若被丟出來時,你要讓你的Exception盡量去提供你要知道的事,讓他可以幫助你在第一時間去解決你的問題。
上面的除法method我就會改成:
public int div(int a, int b) throws
Exception{
try {
return a/b;
} catch (Exception e) {
throw new Exception("a:
" + a + ",
b:" + b, e);
}
}
加入一些客製化的內容在Exception中,再次執行程式後,
java.lang.Exception: a: 1, b:0
at idv.jk.exception.ExceptionWrapper.div(ExceptionWrapper.java:16)
at idv.jk.exception.ExceptionWrapper.main(ExceptionWrapper.java:6)
Caused by: java.lang.ArithmeticException: / by zero
at idv.jk.exception.ExceptionWrapper.div(ExceptionWrapper.java:14)
... 1 more
那個e的參數,就還是一個會顯示在Cause這一段訊息裡,但最上面那一行可以看到使用者傳入的參數。
所以你可以第一時間拿起電話,打給那個使用的豬頭,說:「那個參數不能傳0啦!(傻呆)」,不過若對方資歷比你老,應該會回你一句:「你不會做防呆啊!」
咦!若在new Exception中沒有傳入e這個參數會變成如何呢?程式都貼在上面了,自己試試吧!
所以,如何丟出一個Exception,也是一種藝術地!
Labels:
java exception
2013年7月31日 星期三
[分享]cannot Deploy...Servlet web service endpoint '' failure
今天在練習WS,要部署到Glassfish時,Server丟出了下列的錯誤:
cannot Deploy JAX-WS_WebServiceProvider
deploy is failing=Error occurred during deployment: Exception while loading the app : java.lang. IllegalStateException: ContainerBase.addChild: start: org.apache.catalina. LifecycleException: java.lang.RuntimeException: Servlet web service endpoint '' failure. Please see server.log for more details.
拜歐用了紅色部份當關鍵字去Google找,得到的答案有在Webmethod中使用了type為interface的當做參數,但這不符合我的情況。
後來再仔細檢查一次後,發現有一個Class做了WebService的annotation,但沒有任何method,如:
package idv.jk;
import javax.jws.WebService;
@WebService()
public class Calculator {
}
把@WebService的annotation拿掉後,就好了。
2013年7月24日 星期三
【分享】使用Eclipse的TCP/IP monitor監控網路傳輸
使用TCP/IP monitor來監控網路傳輸,其實類似把Eclipse當做一個代理伺服器,送出一個request出去,會先由TCP/IP monitor接收,再送往目的地;同樣地,目的伺服器回傳一個response回來,也是會由TCP/IP monitor接收後,再回傳本地客戶端。
首先要開啟Eclipse的TCP/IP monitor,如下圖:
再找到「Debug」下的「TCP/IP Monitor」:
當TCP/IP MonitorTCP/IP的View出現時,點按右上方的小小三角形,再點選「Properties」,再點按「Add...」:
就會跑出New Monitor的小對話窗出來:
在上面的對窗裡的設置如下:
詳細說明可以參考這裡。
設定完成後,可以看到你新增的Monitor,原始「Status」為「Stopped」,使用前記得點按右邊的「Start」鈕,讓他的狀態變成「Started」,若你local的port正被你機器上其他運作中的伺服器使用的話,他會報錯。
這裡要注意的是,因為這裡的「Local monitoring port」是設「6688」,所以呼叫伺服器的port,要改成「6688」,這樣送出的request才會先被TCP/IP Monitor接收到,如:
當送出上列的request後,切換到TCP/IP Monitor的View,就可以看到一堆訊息被記錄下來。
這個功能在開發Web Service等網路應用程式,可以提供不少有用的資訊。
首先要開啟Eclipse的TCP/IP monitor,如下圖:
再找到「Debug」下的「TCP/IP Monitor」:
當TCP/IP MonitorTCP/IP的View出現時,點按右上方的小小三角形,再點選「Properties」,再點按「Add...」:
就會跑出New Monitor的小對話窗出來:
- 「Local monitoring port」是指你的機器要當用來監控的話,是要送到你機器的那個port,這裡的設定不能和你機器上執行的伺服器使用的port重覆
- 「Host name」是指你要監控的伺服器的host name,如現在咱要監控咱機器上的Tomcat(它的port設為8888),就在這裡設為localhost
- 「Port」是指你要監控的伺服器的port,如上例本機Tomcat的8888
- 「Type」就是你要監控的傳輸內容類型
詳細說明可以參考這裡。
設定完成後,可以看到你新增的Monitor,原始「Status」為「Stopped」,使用前記得點按右邊的「Start」鈕,讓他的狀態變成「Started」,若你local的port正被你機器上其他運作中的伺服器使用的話,他會報錯。
當送出上列的request後,切換到TCP/IP Monitor的View,就可以看到一堆訊息被記錄下來。
這個功能在開發Web Service等網路應用程式,可以提供不少有用的資訊。
Labels:
Eclipse
訂閱:
文章 (Atom)












