標籤:des style class blog java http
目前最新的JDK版本是:Java SE Development Kit 7u5
:http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html
查看最新:http://www.oracle.com/technetwork/java/javase/downloads/index.html
2.解壓安裝
我們把JDK安裝到這個路徑:/usr/lib/jvm
如果沒有這個目錄(第一次當然沒有),我們就建立一個目錄
cd /usr/lib
sudo mkdir jvm
建立好了以後,我們來到剛才下載好的壓縮包的目錄,解壓到我們剛才建立的檔案夾裡面去,並且修改好名字方便我們管理
sudo tar zxvf ./jdk-7-linux-i586.tar.gz -C /usr/lib/jvm
cd /usr/lib/jvm
sudo mv jdk1.7.0_05/ jdk7
3.配置環境變數
gedit ~/.bashrc
在開啟的檔案的末尾添加
export JAVA_HOME=/usr/lib/jvm/jdk7
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
儲存退出,然後輸入下面的命令來使之生效
source ~/.bashrc
4.配置預設JDK
由於一些Linux的發行版中已經存在預設的JDK,如OpenJDK等。所以為了使得我們剛才安裝好的JDK版本能成為預設的JDK版本,我們還要進行下面的配置。
執行下面的命令:
sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/jdk7/bin/java 300 sudo update-alternatives --install /usr/bin/javac javac /usr/lib/jvm/jdk7/bin/javac 300
注意:如果以上兩個命令出現找不到路徑問題,只要重啟一下電腦在重複上面兩行代碼就OK了。
執行下面的代碼可以看到當前各種JDK版本和配置:
sudo update-alternatives --config java
5.測試
開啟一個終端,輸入下面命令:
java -version
顯示結果:
java version "1.7.0_05" Java(TM) SE Runtime Environment (build 1.7.0_05-b05)
Java HotSpot(TM) Server VM (build 23.1-b03, mixed mode)
這表示java命令已經可以運行了。
下載64位的eclipse版本, 我用的是Indigo, 所以下的是eclipse-jee-indigo-SR2-linux-gtk-x86_64.tar.gz
複製到 /usr/local/bin, 解壓到目前的目錄
sudo tar -zxvf eclipse-jee-indigo-SR2-linux-gtk-x86_64.tar.gz
將目錄eclipse更名為eclipse-jee
將eclipse添加到Debian的Applications:
在/usr/share/applications下添加eclipse-jee.desktop, 內容如下
[Desktop Entry]
Categories=GNOME
Comment=Eclipse for J2EE Development
Exec=/usr/local/bin/eclipse-jee/eclipse
Icon=/usr/local/bin/eclipse-jee/icon.xpm
Name=Eclipse JEE
Terminal=false
Type=Application
同理, 添加Eclipse for PHP Developer, 使用eclipse-php的目錄名和程式名
完成後, 在Alt+F1呼出的applications裡面就可以看到添加了的eclipse捷徑, 也可以通過Alt+F2用eclipse-jee直接開啟
在Eclipse裡面添加Tomcat6 Server, 出現 Cannot create a server using the selected type 的解決方案:
Google了好多結果, 有說刪除workspace下的某個pref檔案的, 但是這個檔案根本不存在.
最終解決問題的方法:
cd /usr/share/tomcat7
sudo ln -s /var/lib/tomcat7/conf conf
sudo ln -s /etc/tomcat7/policy.d/03catalina.policy conf/catalina.policy
sudo ln -s /var/log/tomcat7 log
sudo chmod -R 777 /usr/share/tomcat7/conf
把上面的tomcat7換成tomcat6就可以了. 最後一個沒用, 因為原來就已經是777許可權.
另外還有一個相關的命令, 不知道是否起到了作用, 這個是將我用於啟動eclipse的使用者, 加入tomcat6這個組
sudo adduser [my user name] tomcat6
[Tomcat Debug環境的設定] 2013.05.25 Update:
雙擊Servers 裡面的Tomcat v6.0 Server at Localhost, 可以看到Tomcat的配置頁面. 這個頁面上要進行如下設定:
1. Server Locations 設定為第三個. 為什麼呢? 看這段解釋:
In fact, I always Use Workspace Metadata. When you say Use workspace metadata, Eclipse copies your files (class files, jsps, server.xml, context.xml) to /.metadata/.plugins/org.eclipse.wst.server.core/tmp0. It then starts Tomcat using these files. It does not change the Tomcat installation directory at all. Note that this doesn’t copy the tomcat files, just the files which come from your project.
If you choose Use Tomcat Installation, then it copies your files into the Tomcat installation directory, and boots it from there.
If, like me, you’re developing multiple projects from multiple workspaces, then this makes a big difference. With Use Workspace Metadata you will never get any interference between workspaces. For instance, it’s possible that when rebooting Tomcat, one project will be in a bad state and your logs will be filled with stuff from another project. It’s better to have two separate locations, and the workspace is a good place for this.
我是這樣做的, 在我的目錄下建一個tmp檔案夾: /home/[my user name]/WorkJava/tmp_server,
然後把這個路徑加入Server path, 並且把Deploy path改為webapps
2. 關閉publishing, 設定為 Never publish automatically
3. 不部署任何項目, 而是通過/home/[my user name]/WorkJava/tmp_server/conf/Catalina/localhost/[project name].xml 來實現部署. 這個xml裡面的內容很簡單, 就是一個指向你workspace裡面編譯好的項目的路徑, 一個項目部署檔案例子是這樣的
view plaincopy to clipboardprint?
1 <!--?xml version="1.0" encoding="UTF-8"?-->
2 <context docbase="/home/[my user name]/WorkJava/workspace/medias/WebRoot">
3 </context>
這樣, 在Servers裡面啟動服務後, 就會自動啟動你在workspace裡面的項目
[Subclipse的安裝] 2013.05.20 Update:
首先在 http://subclipse.tigris.org/ 找到了 eclipse 更新源: http://subclipse.tigris.org/update_1.8.x
在Eclipse Help->Install New Software 下增加這個源, 然後勾選以下的三個組件:
Subclipse, Subversion Client Adapter, Subversion Client Adapter
別的都不是必須的, 可以不裝
然後需要安裝Debian的libsvn-java提供JNI支援.
sudo apt-get install libsvn-java
系統會同時安裝libsvn1
問題: 此時開啟eclipse, 會提示Unable to load default SVN Client
解決: 將svn client 的路徑加入eclipse.ini: 修改/usr/local/bin/eclipse-jee/eclipse.ini, 在
-vmargs 下面增加一行:
-Djava.library.path=/usr/lib/x86_64-linux-gnu/jni/
這個路徑可以通過 sudo find / -name libsvnjavahl*.* 得到
問題: 開啟eclipse出現 Incompatible JavaHL library loaded. 1.7.x or later required
解決: 這是因為Debian Wheezy安裝的libsvn1 版本還是1.6.x, 而Subclipse 1.8.x 需要1.7.x的支援.
兩個途徑:
1. 不使用subeclipse 1.8.x 而使用 subeclipse 1.6.x
2. 安裝libsvn1 1.7
因為subversion 1.7 較之前版本有很大的改進, 所以決定從unstable版中安裝libsvn1 1.7, 安裝步驟:
1. 修改/etc/apt/sources.list, 將
deb http://debian.ustc.edu.cn/debian/ wheezy main non-free contrib
deb-src http://debian.ustc.edu.cn/debian/ wheezy main non-free contrib
改為
deb http://debian.ustc.edu.cn/debian/ sid main non-free contrib
deb-src http://debian.ustc.edu.cn/debian/ sid main non-free contrib
2. sudo apt-get update
3. sudo apt-get install libsvn1
安裝完後, 記得將/etc/apt/sources.list改回去.
重新啟動eclipse後, 會提示要禁用svn的 keyring, 確認就可以了. 這時候svn就可以使用了.