Wednesday, September 15, 2010

Java檔案套件使用

預設檔案配置(在Windows環境)

(myProject)
|
|--(source)
| |
| |--(com)
| |
| |--(coffee)
| |
| |--bowCoffee.java
| |--products.java
|
|--(classes)
|
|--(com)
|
|--(coffee)
|
|--bowCoffee.class
|--products.class


兩個檔案都是屬於com.coffee這個套件中
bowCoffee.java

package com.coffee;
public class bowCoffee{
void bow(String str){
System.out.println(str + " is bowing!");
}
}


products.java

package com.coffee;
import com.coffee.bowCoffee;
public class products{
public static void main(String[] args){
bowCoffee bc = new bowCoffee();
bc.bow("Blue Mountain coffee bean");
}
}


在編譯的時候在 C:\JavaProject\MyProject 下執行
-d classes 會將編譯好的.class依照他的套件目錄存放在classes資料夾中

javac -d classes source\com\coffee\bowCoffee.java
javac -d classes source\com\coffee\products.java

在執行products.java編譯時會出現以下錯誤,
因為products.java無法找到com.coffee.bowCoffee

source\com\coffee\products.java:2: cannot find symbol
symbol : class bowCoffee
location: package com.coffee
import com.coffee.bowCoffee;
^
source\com\coffee\products.java:5: cannot find symbol
symbol : class bowCoffee
location: class com.coffee.products
bowCoffee bc = new bowCoffee();
^
source\com\coffee\products.java:5: cannot find symbol
symbol : class bowCoffee
location: class com.coffee.products
bowCoffee bc = new bowCoffee();
^
3 errors

所以products.java要改以-cp(-classpath)的方式執行

javac -d classes -cp classes source\com\coffee\products.java


要用package路徑方可執行。

java -cp classes com.coffee.products


若在classes資料夾中則不需要在加-cp classes便可以執行。

備註:
現在開發JAVA的相關IDE都很放便,由其是在版本與套件管理上,
若想單純使用編譯器來開發大型程式,那-d與-cp(-classpath)的使用就相當重要了。

Tuesday, September 14, 2010

在Ubuntu上安裝eclipse

首先要先確定自己的環境,因為Ubuntu上預設安裝的是OpenJava,
所以要先安裝SUN JAVA並將其配置好。
至於安裝的部份可以參考我上一篇
Ubuntu上安裝SUN-JAVA6 + Apache Tomcat

配置Sun版本的Java,選擇現在要使用的版本。
$ sudo update-alternatives --config java

安裝eclipse,將其安裝在你想要的地方,我同常是放在/usr/local底下
$ sudo tar xzf eclipse-java-helios-linux-gtk.tar.gz
$ sudo chmod -R +r eclipse

建立一個eclipse執行文件
$ sudo touch /usr/bin/eclipse
$ sudo chmod 755 /usr/bin/eclipse
$ sudo gedit /usr/bin/eclipse

#!/bin/sh
export ECLIPSE_HOME="/usr/local/eclipse"

$ECLIPSE_HOME/eclipse $*


建立應用程式選單
$ sudo gedit /usr/share/applications/eclipse.desktop

[Desktop Entry]
Encoding=UTF-8
Name=Eclipse
Comment=Eclipse IDE
Exec=/usr/local/eclipse/eclipse
Icon=/usr/local/eclipse/icon.xpm
Terminal=false
Type=Application
Categories=GNOME;Application;Development;
StartupNotify=true


在第一次使用eclipse時,先執行以下指令
/usr/local/eclipse/eclipse -clean

現在你可以透過應用程式MENU來開啟eclipse了。

參考資料:
http://flurdy.com/docs/eclipse/install.html

Monday, September 13, 2010

Ubuntu上安裝SUN-JAVA6 + Apache Tomcat

第一次使用Ubuntu,現在正在測試軟體安裝的狀況。
不過發現起初要安裝SUN-JAVA6時確無法使用aptitude找到相關套件,
後來拜了一下Google後發現,原來是有apt server沒有更新到。
$ sudo gedit /etc/apt/sources.list

把這兩行前面的#拿掉
deb http://archive.canonical.com/ubuntu lucid partner
deb-src http://archive.canonical.com/ubuntu lucid partner

在進行搜尋
$ sudo aptitude search SUN-JAVA6
終於找到了

因為要執行Apache-Tomcat
所以就先安裝SUN-JAVA6-bin SUN-JAVA6-jre SUN-JAVA6-jdk
$ sudo aptitude install SUN-JAVA6-bin SUN-JAVA6-jre SUN-JAVA6-jdk

再來是安裝Apache Tomcat,先去下載
$ wget http://ftp.twaren.net/Unix/Web/apache//tomcat/tomcat-6/v6.0.29/bin/apache-tomcat-6.0.29.tar.gz

安裝到/usr/local下
$ sudo mkdir /usr/local/tomcat
$ sudo mv apache-tomcat-6.0.29.tar.gz /usr/local/tomcat/
$ sudo tar -zxvf apache-tomcat-6.0.29.tar.gz

tomcat環境設定
$ sudo gedit ~/.bashrc
增加JAVA_HOME位置
export JAVA_HOME=/usr/lib/jvm/java-6-sun

建立tomcat的auto-start and shutdown檔
$ sudo gedit /etc/init.d/tomcat

# Tomcat auto-start
#
# description: Auto-starts tomcat
# processname: tomcat
# pidfile: /var/run/tomcat.pid

export JAVA_HOME=/usr/lib/jvm/java-6-sun

case $1 in
start)
sh /usr/local/tomcat/bin/startup.sh
;;
stop)
sh /usr/local/tomcat/bin/shutdown.sh
;;
restart)
sh /usr/local/tomcat/bin/shutdown.sh
sh /usr/local/tomcat/bin/startup.sh
;;
esac
exit 0

其中tomcat是你的資料夾位置,以此次安裝來說要改成tomcat/apache-tomcat-6.0.29


改變tomcat資料夾權限
$ sudo chmod 755 /etc/init.d/tomcat

建立啟動連結
$ sudo ln -s /etc/init.d/tomcat /etc/rc1.d/K99tomcat
$ sudo ln -s /etc/init.d/tomcat /etc/rc2.d/S99tomcat

現在只要重開電腦,他就會自動登入啦!

參考資料:
http://www.howtogeek.com/howto/linux/installing-tomcat-6-on-ubuntu/

Saturday, September 11, 2010

Windows7對vista的檔案分享與印表機分享

兩台電腦在同一個區域網路內,網路架構如下
寄件者 windows7_vista_share


網路分享設定步驟
Windows7上的設定
開始\控制台
寄件者 windows7_vista_share


控制台\系統及安全性
寄件者 windows7_vista_share


控制台\系統及安全性\系統
設定工作群組
寄件者 windows7_vista_share

寄件者 windows7_vista_share

寄件者 windows7_vista_share

重新啟動電腦

控制台\網路和網際網路
寄件者 windows7_vista_share


控制台\網路和網際網路\網路和共用中心
寄件者 windows7_vista_share

選擇關閉密碼保護共用
寄件者 windows7_vista_share


控制台\網路和網際網路\網路和共用中心\進階共用設定
家用或公用場所(目前設定檔)
寄件者 windows7_vista_share


Vista上的設定
開始\控制台
寄件者 windows7_vista_share


控制台\系統及維護
寄件者 windows7_vista_share


控制台\系統及維護\系統
使用相同的工作群組
寄件者 windows7_vista_share

重新啟動電腦

控制台\
寄件者 windows7_vista_share


控制台\網路和網際網路
寄件者 windows7_vista_share


控制台\網路和網際網路\網路和共用中心
關閉以密碼保護的共用,將要分享的功能打開
寄件者 windows7_vista_share


檔案分享
分享Windows7上的檔案
寄件者 windows7_vista_share

寄件者 windows7_vista_share

電腦當中的網路選項可以找到windows7電腦
寄件者 windows7_vista_share

寄件者 windows7_vista_share


印表機分享
分享配置在Windows7上的印表機
寄件者 windows7_vista_share


控制台\硬體和音效\裝置和印表機
選擇要分享的印表機,按右鍵選擇"印表機內容"
寄件者 windows7_vista_share


共用設定與其他驅動程式設定
寄件者 windows7_vista_share


其他驅動程式設定,選擇共享的驅動程式類型(x86就是32位元版; x64為64位元版)
寄件者 windows7_vista_share


Vista上的設定
控制台\硬體和音效\印表機
新增印表機
寄件者 windows7_vista_share


寄件者 windows7_vista_share


若沒有自動偵測到,可使用第二個紅圈選項
寄件者 windows7_vista_share


依名稱選取功用應表機,可用瀏覽的方式新增
寄件者 windows7_vista_share


最後,安裝驅動程式,完成分享。
寄件者 windows7_vista_share



以上方式,僅適合虛擬區域網路內,或是防火牆或閘道器內的網路。