2010年3月21日

正負2度C的人生

曾幾何時我們的世界失去了四季!
我依稀記得小時候的四季,那種分明的快樂! 那種分明的感受與享受。
站在一樣的地方,一樣的地點,看著一樣的景色,張開雙手享受到的卻是不一樣的感覺。

工業革命到現在也不過短短兩百多年! 但是這短短的一小段時間已經將六千多年孕育的地球嚴重的破壞。
不可是忽視的是人類的破壞力,不可忽視的是人類的扼殺力。

或許該想些甚麼? 或許該做些甚麼?
在今天沙塵暴壟罩著台北市的悲情氣候中不禁想到了小時後的台北市。
在今天失去四季事實裡讓財經新聞與政治新聞更禿顯出了更多的政績!
在工作上的嘴砲與爭鬥中人們流失了他們的價值!

是否該有些更好的?
是否該做些更棒的?
是否該思考更有價值的?
是否該做些更值得人生的!

無置可否的! 是的!

2010年2月24日

Apache Archiva Server Install Guide

Apache Archiva Server Install Guide

Author: Justin Lin
Date: 2010/02/24

Description:
介紹如何佈署Archiva到Tomcat中,在APACHE-ARCHIVA官方網站上有兩種安裝方式,一種是包含伺服器的安裝包一種是獨立的WAR檔。這裡介紹的是如何佈署WAR檔並且設定資料庫、REPOSITORY位置、與ARCHIVA所需的環境變數。

Precondition:
1. Apache-Tomcat 6.0
2. Apahce-Archiva WAR(文件撰寫時的最新版本為1.3)
3. Derby-10.1.3.1
4. Javamail API 1.4.2
5. Activation 1.1.1

Step:
1. 將Derby、Javamail、Activation 三個JAR檔複製到{TOMCAT_HOME}/lib下

2. 建立目錄
{TOMCAT_HOME}/archiva/database // Derby database file location
{TOMCAT_HOME}/archiva/repository // Archiva repository location

3. 建立archiva.xml設定檔(Tomcat context configuration file)
<?xml version="1.0" encoding="UTF-8"?>
<Context path="/archiva"
docBase="${catalina.home}/archiva/apache-archiva-1.3.war">

<Resource name="jdbc/users" auth="Container" type="javax.sql.DataSource"
username="sa"
password=""
driverClassName="org.apache.derby.jdbc.EmbeddedDriver"
url="jdbc:derby:${catalina.home}/archiva/database/users;create=true" />

<Resource name="jdbc/archiva" auth="Container" type="javax.sql.DataSource"
username="sa"
password=""
driverClassName="org.apache.derby.jdbc.EmbeddedDriver"
url="jdbc:derby:${catalina.home}/archiva/database/archiva;create=true" />

<Resource name="mail/Session" auth="Container"
type="javax.mail.Session"
mail.smtp.host="localhost"/>
</Context>

4. 移動archiva.xml到{TOMCAT_HOME}/conf/Catalina/localhost下

5. 修改{ARCHIVA_WAR}/WEB-INF/classes/application.properties
user.agent=Apache Archiva/1.3
appserver.home=%CATALINA_HOME%
appserver.base=%CATALINA_HOME%

6. 修改{TOMCAT_HOME}/bin/catalina.bat加入下方設定
set JAVA_OPTS="-Dappserver.home=%CATALINA_HOME% -Dappserver.base=%CATALINA_HOME%"

7. 啟動Tomcat-6.0: {TOMCAT_HOME}/bin/startup.bat

8. 開啟瀏覽器: http://localhost:8080/archiva

9. 點選Repositories 修改Internal and Snapshot 的Repository Directory

10. 佈署完成

Reference:
1. Archiva Offical Site: http://archiva.apache.org/
2. Installing Apache Archiva as a Web Application: http://archiva.apache.org/docs/1.3/adminguide/webapp.html

2010年1月22日

Eclipse Plugin Developement Tutorial - Phase 1

基於Eclipse plugin開發,eclipse架構提供了Extensions and Extension Points 兩種定義,
將Extension Points比喻成插座, Extensions就像是功能.
藉由設定Extensions可以將自己所開發的功能插入Eclipse Platform中。
開發Eclipse Plugin的方式可以利用現有Plugin提供的功能, 也就是目前Eclipse 所提供的 Extension Points.

在Eclipse 2.x之後, 開發者導入了OSGI的功能, 將所有Plugin的架構改成OSGI的模式,
因此在設定Plugin的部分有了些許的改變.
Eclipse 2.x之後所有的export and import的設定被改變位置到 MAINFEST.MF中,
Extensions and Extension Points則依然在plugin.xml檔案中設定.
但是eclipse 2.x 之前的方式目前依然是support的.

Eclipse提供了開發Plugin的Perspective可以使用.
學習的階段可以參考ResourceBundler Editor的Plugin Project(sourceforge.net)來作學習,
因這個Project的功能簡單, 唯獨這個Plugin已經許久無更新, 所以目前他的開發方式依然是舊版的開發方法.

下面是幾個有用的reference site:
1. ResourceBundler Editor: http://sourceforge.net/projects/eclipse-rbe/
2. Extension Points List: http://help.eclipse.org/help32/index.jsp?topic=/org.eclipse.platform.doc.isv/reference/extension-points/org_eclipse_ui_handlers.html
3. Eclipse Javadoc: http://help.eclipse.org/galileo/index.jsp?topic=/org.eclipse.platform.doc.isv/reference/api/index.html
4. Eclipse Plugin Development Tutorial: http://www.eclipsepluginsite.com/#