熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Java編程 >> Java開源技術 >> 正文

JDK安裝卸載與Eclipse的安裝配置

2013-11-23 20:29:36  來源: Java開源技術 

  背景

  進公司用SSH(Strutsspring和hibernate)開發已經有兩個月了但由於一直要麼只負責表示層的開發要麼只負責業務層的開發要麼只負責數據庫底層的開發就這樣一個毫無JAVA程序開發和Web開發背景的我由於有點面向對象開發的基礎也能夠協助經理將一個項目給像模像樣地完成了現在項目完成了我反而心裡覺得空落落的因為雖然自己涉及過web開發的方方面面但至今不會獨自進行項目的開發連tomcateclipsejdk……都沒有安裝過也從沒安裝過進公司之前別人就已經替我安裝好了於是趁著這個端午節天的假日強忍住不出去玩一個人呆在家裡打算將那個完成的項目全部遷移到我的筆記本上雖然從沒安裝過開發和運行環境但做項目這麼久也知道需要安裝哪些程序或者文件包——jdktomcateclipsemysqlnacicate另加三個框架——strutsspringhibernate廢話少說下面進入主題

  JDK的安裝及其系統環境變量的設置

  我直接將公司的jdk安裝文件給拷貝回來了一共是M左右不知道是第幾版本的我也不管三七二十一一口氣先後安裝了jdkeclipse和tomcat然後將項目導入eclise結果一打開裡面簡直慘不忍睹jsp文件似乎並不被識別java文件裡面到處都是錯於是上網求助查了大半天似乎最後才明白了一點tomcat必須在elipse之前安裝在jdk安裝完成之後再安裝而jdk和tomcat安裝完了之後都必須設置所謂的環境變量並且還要在eclipse中進行配置而我卻只是將它們分別安裝了一下壓根兒就沒有進行任何配置這就造成了它們三之間彼此不認識所以eclipse打開的項目自然到處都是錯誤呵呵這些都是最基本的常識地球人都知道但我是個新手從來不知道原來安裝程序後還要對其進行配置還要與其他程序進行關聯!我冒著被贻笑大方的巨大風險將這點列在這裡是希望後來的新手別像我這樣犯如此低級的錯誤

   JDK的卸載

  由於我一口氣將這三個程序都安裝了但後來得知這些都是需要配置的所以我就又將它們全都給卸了問題來了!我在卸載JDK的時候開始——程序菜單中沒有看到JDK所以就認為也許JDK沒有安裝到我的電腦上於是就將安裝JDK的那個文件夾裡的內容全都給刪了到最後只有jre那個目錄無法刪除OK災難由此開始我的無知導致我的端午節的第一天一整天都在為我的這個過錯進行糾正!問題出在我第二次雙擊jdkSetupexe安裝文件時安裝的畫面總是一閃而過然後報出這樣一條提醒的語句你的系統中已經安裝了JDK程序是否要繼續重新安裝?我點確定但沒過多久又回到了剛才的那個提醒畫面中來於是我就打開開始——控制面板——添加或刪除程序在裡面找到JAVA UPDATE 和JAVA DEVELOPMENT這兩個程序我點擊刪除但最後總提示說你的安裝程序有問題無論我怎樣刪就是刪不掉於是又上網尋求答案百度谷歌了好久看了好多解決方案試了之後都不行例如下載一個更高版本的JDK安裝之後將系統中已經安裝的JDK覆蓋掉又如打開注冊表找到JAVASoftware和SUN將這兩個注冊文件都給刪除掉再如下載一個強力卸載工具強制將JDK卸載掉……就這樣從上午點試到下午點鐘都還沒搞定連寶貴的午餐時間都給浪費掉了!但我就是不甘心後來見一高手說在注冊表裡按Ctrl + F分別輸入SUNsunJavajavajreJAVAjdkJDK每查找到一個注冊信息如果是左側欄的注冊文件夾就將該文件夾直接刪除如果是右側的鍵值表就選中右擊——刪除掉每一個字段都必須反復地查找並刪除直到最後再也查找不到為之於是我就照著此法去做一直刪了個多小時才終於全部刪除干淨沒想到安裝一個JDK在注冊表中竟然注冊了這麼多信息!好了既然都刪掉了我就開始安裝了但是結果讓我很失望系統竟然還是提示說我的電腦上已經安裝了JDK!這簡直讓我無語!我想注冊表裡的與JDK有關的信息都已經被我刪除掉了那麼安裝程序又是從哪裡又找到JDK的蛛絲馬跡的呢?難道是注冊表裡的信息還沒刪除干淨?於是我又打開注冊表又查找剛才那一個字眼沒想到這次又查找到了若干於是又一一刪除刪除完了為了確認這次是不是已經全部刪除干淨我重啟了電腦並打開注冊表繼續查找結果這一次再也沒找到於是我打開開始——控制面板——添加或刪除程序好了這一次再也沒有那個JAVA UPDATE和JAVA DEVELOPMENT的程序了於是我再次雙擊JDK的安裝程序好了這次終於可以正常安裝了總算是邁出第一步了!

  這裡還要提醒大家的是安裝上面的方法還是並不一定 就行的如果其他程序中已經關聯上了JDK比如eclipse或tomcat那麼可能還需要將這些程序也都刪除或卸載掉才行!

   JDK的環境變量設置

  JDK安裝好了之後必須設置其環境變量這樣也方便以後程序的編譯和運行!

  但是為了大家閱讀方便我這裡再貼出來

  首先右鍵點我的電腦打開屬性然後選擇高級裡面的環境變量在新的打開界面中的系統變量裡需要設置三個屬性java_homepathclasspath其中在沒安裝過jdk的環境下path屬性是本來存在的而java_home和classpath是不存在的

  首先點新建然後在變量名寫上java_home顧名其意該變量的含義就是java的安裝路徑呵呵然後在變量值寫入剛才安裝的路徑E:\Java\jdk_其次在系統變量裡面找到path然後點編輯path變量的含義就是系統在任何路徑下都可以識別打開該變量時會發現其
變量值後面的文本框中已經有了內容我們不要刪除這些內容而是按End定位到該文本框的末尾如果末尾有一個分號;就直接添加JAVA命令所在的路徑如果沒有分號則需要添加一個分號後再添加JAVA命令的路徑

  java命令的路徑是%java_home%\bin;%java_home%\jre\bin(其中%java_home%的意思為剛才設置java_home的值)也可以直接寫上E:\Java\jdk_最後再點新建然後在變量名上寫classpath該變量的含義是為java加載類(class or lib)路徑只有類在classpath中java命令才能識別其值為;%java_home%\lib;%java_home%\lib\toolsjar (要加表示當前路徑)%java_home%有相同意思

  以上三個變量設置完畢則按確定直至屬性窗口消失下來是驗證看看安裝是否成功先打開開始>運行打入cmd進入dos系統界面然後打java version如果安裝成功系統會顯示java的版本信息

  另外安裝java時安裝jdk 和 jre要有兩個目錄安裝時都選擇在同一目錄會出現bin和lib文件覆蓋現象從而出現無lib\toolsjar文件的現象到時即使正確設置了環境變量後javac也不可用!!因此安裝jdk後一定要看下在jdk\lib下是否有toolsjar文件有的話按照上面的方法設置環境變量就ok了

   寫一個經典的JAVA程序——Hello World

  這個程序最然簡單但很經典之所以經典自有其道理諸君請看

  首先開啟文本編輯器如txt新建一個文本文件寫入如下代碼

  public class HelloWorld!{
public static void main(String args[]) {
Systemoutprintln(Hello World!);
}
}

  然後關閉編輯器重命名本文件為HelloWorldjava注意如果文件裡的類名為helloworldt則本文件名也要改為helloworldjava即文件名必須與類名相同大小寫也要必須一樣!

  然後開始——運行或者直接安裝Win + R打開命令行輸入cmd點擊確定或回車後就打開了命令符窗口如果剛才的Testjava

  文件保存在f:\中則在該窗口中輸入f:然後回車光標處為F:\>這時輸入javac Testjava然後回車再輸入java Test然後回車

  Ok如果一切正常的話窗口中會顯示This is a test program這一行文字否則肯定會出錯下面便是常見的幾種錯誤類型及其解決方案

  * 錯誤

  javac 不是內部或外部命令也不是可運行的程序或批處理文件
(javac: Command not found)
產生的原因是沒有設置好環境變量pathWin下在autoexcebat中加入path=%path%;c:jdkinWin下則控制面板>系統>高級>環境變量>系統變量看到了?雙擊Path在後面加上c:jdkin當然我們假設JDK安裝在了c:jdk目錄下(有點唐僧了?)好像還要重啟系統才起作用(//知道了!//西紅柿)好再試試!javac HelloWorld
* 錯誤

  HelloWorld is an invalid option or argument
拜托給點專業精神java的源程序是一定要存成java文件的而且編譯時要寫全java呀

  OK javac HelloWorldjava (這回總該成了吧?)
* 錯誤

  HelloWorldjava:: Public class helloworld must be defined in a file called
HelloWorldjava
public class helloworld{
^

  這個問題嘛是因為你的類的名字與文件的名字不一致(誰說的明明看到人家都有這樣寫的 ( ) OK准確地說一個Java源程序中可以定義多個類但是具有public屬性的類只能有一個而且要與文件名相一致還有main方法一定要放在這個public的類之中這樣才能java(運行)這個類另外一點是Java語言裡面是嚴格區分大小寫的初學者要注意呀像上例中 helloworld 與 HelloWorld 就認為是不一樣因而oh改好了嘻嘻 javac HelloWorldjava(咦怎麼什麼也沒有呀?)//faint 這就是編譯通過了!看看是不是多了一個HelloWorldclass ?(hehe按書上教的:) java HelloWorld (!! 這個我知道不是java HelloWorldclass喲)
* 錯誤

  Exception in thread main javalangNoClassDefFoundError: HelloWorld
呵呵這個嘛就是著名的類路徑(classpath)問題啦實際上類路徑是在編譯過程就涉及的Java中的概念classpath就是指明去哪裡找用到的類就這麼簡單由於我們的HelloWorld沒用到其它的(非javalang包中的)類所以編譯時沒遇到這個問題運行時呢就要指明你的類在哪裡了解決方法嘛可以用下面的命令運行
java classpath HelloWorld就代表當前目錄當然這樣做有點麻煩(是太麻煩!)我們可以在環境變量中設置默認的classpath方法就照上述設置path那樣將classpath設為
classpath=;c:jdklibdtjar;c:jdklib oolsjar 後面的兩個建議也設上
以後開發用的著java classpath HelloWorld(再不出來我就不學java了)
* 錯誤

  Exception in thread main javalangNoSuchMethodError: main
(//咣當)別堅持住看看你的代碼問題出在main方法的定義上寫對地方了嗎
是這樣寫的嗎
public static void main(String args[]) { //一個字都不要差先別問為什麼了
包括大小寫!
java classpath HelloWorld (聽天由命了!)
Hello World!
(faint!終於
歡迎來到Java世界!所以說無法運行HelloWorld 真的並不是一個最簡單的問題

   tomcat的安裝及其環境變量的設置

  第一步去tomcat官方網站上下載一個壓縮文件解壓下來即可不需安裝

  第二步接下來就是設置環境變量了注意tomcat的環境變量與jdk相關聯因此必須先安裝好jdk並設置好其環境變量後再開始安裝tomcat

  在我的電腦>屬性>高級>環境變量>系統變量中添加以下環境變量(假定你的tomcat安裝在e:\tomcat)
CATALINA_HOMEc:\tomcat
CATALINA_BASEc:\tomcat
TOMCAT_HOME:  c:\tomcat             
   如果是第一次設置tomcat的環境變量上面的這三個變量都是沒有的因此都需要新建以第一個變量為例點擊新建輸入變量名為CATALINA_HOME輸入變量值為c:\tomcat

  然後修改環境變量中的classpath(這一步與上面jdk相關聯這裡的classpath變量便是上面在安裝jdk時所創建的環境變量)把tomat安裝目錄下的common\lib下的servletjar追加到classpath中去修改後的classpath如下classpath=;%JAVA_HOME%\lib\dtjar;%JAVA_HOME%\lib\toolsjar;%CATALINA_HOME%\common\lib\servletapijar(注意末尾最好別加分號) 注意雙擊打開classpath變量時其值為jdk的相關值

  ;%JAVA_HOME%\lib\dtjar;%JAVA_HOME%\lib\toolsjar現在要追加tomcat的該變量值需要先在末尾添加一個分號(如果末尾有分號就不必添加了)然後再添加tomcat的值 %CATALINA_HOME%\common\lib\servletapijar

  【注意最新版本的Tomcat中可能沒有common這個文件夾了所以servletapijar應該的路徑為

  %CATALINA_HOME%\lib\servletapijar;請根據自己的情況自己修改!】

  接著可以啟動tomcat在IE中訪//localhost:如果看到tomcat的歡迎頁面的話說明安裝成功了

  再接著找到tomcat目錄下的conf文件夾用editplus打開serverxml找到把端口改為在最後添加URIEncoding=utf重新啟動服務器輸//localhost如果成功就可以看到tomcat的歡迎頁面

  第三步建立自己的jsp app目錄 
到Tomcat的安裝目錄的webapps目錄可以看到ROOTexamples tomcatdocs之類Tomcat自帶的的目錄 
在webapps目錄下新建一個目錄起名叫myapp 
myapp下新建一個目錄WEBINF注意目錄名稱是區分大小寫的 
WEBINF下新建一個文件webxml內容如下

  

  <?xml version= encoding=ISO?>
<!DOCTYPE webapp
PUBLIC //Sun Microsystems Inc//DTD Web Application //EN
app__dtd>
<webapp>
<displayname>My Web Application</displayname>
<description>
A application for test
</description>
</webapp>

  在myapp下新建一個測試的jsp頁面文件名為indexjsp文件內容如下 

  

  <html>
<body>
<center>
Now time is: <%=new javautilDate()%>
</center>
</body>
</html>

  重啟Tomcat 
打開浏覽器輸入 看到當前時間的話說明就成功了

  如果在這一步出現如下錯誤

  exception
javaxservletServletException: javaxservletServletException: javalangNoClassDefFoundError: javax/el/ELResolver

  那就檢查一下Tomcat/lib下是否已經有elapijar  elrijar兩個jar文件沒有則拷貝到此目錄下重啟Eclipse測試同時如果機器上已經有Eclipse又安裝MyEclipseMyEclipse會自動查找jre他首先檢測到的是C:\Program Files\Java(jdk安裝目錄)中的jre而不是C:\Program Files\Java\jdk_中的jre原先的Eclipse的jre也隨之改動(解決方法(Eclipse為例MyEclipse類似)window>preferences>Java>Installed JRES>Edit>更改jre home為C:\Program Files\Java\jdk_如果還不行就將elapijar包也添加到classpath環境變量中去

  第四步建立自己的Servlet
寫入你的第一個Servlet:
在你新建的Application myapp/WEBINF/classes/test目錄下新建HelloWorldjava

  

  package test;

  import javaio*;
import javaxservlet*;
import javaxservlethttp*;
public class HelloWorld extends HttpServlet
{
public void doGet(HttpServletRequest requestHttpServletResponse response)th
rows ServletExceptionIOException
{
responsesetContentType(text/html);
PrintWriter out = responsegetWriter();
outprintln();
outprintln(

HelloWorld!

);
outprintln();

}
}

  然後照樣用javac HelloWorldjava來編譯這個文件如果出現無法import javaxservl
et*
那麼就是應該把C:\Tomcat\common\lib裡面的servletapijar文件拷貝到C:\JDK\jre\lib\ext中再次編譯就沒有問題了!
然後在Tomcat目錄裡面的C:\Tomcat\webapps\myapp裡面按如下的文件結構
myapp\indexjsp
myapp\WEBINF\classes\test\HelloWorldclass(把上面生成的HelloWorldclass文件放在這個
裡面)
然後在浏覽器中輸//localhost:/myapp/HelloWorld於是Server眾望所歸的報錯了:Error Not Found
怎麼回事呢?
Servlet必須使用C:\Tomcat\webapps\myapp\WEBINF這個目錄下面的webxml文件進行注冊
用EditPlus打開這個webxml文件
添加下面這段程序:

  

  <servlet>
<servletname>HelloWorld</servletname>
<servletclass>testHelloWorld</servletclass>
</servlet>
<servletmapping>
<servletname>HelloWorld</servletname>
<urlpattern>/HelloWorld</urlpattern>
</servletmapping>

  為什麼呢?
因為 這樣的結構

HelloWorld
testHelloWorld//類的路徑

表示指定包含的servlet類
而以下的結構

HelloWorld
/HelloWorld

表示指定HelloServlet應當映射到哪一種URL模式

  在修改webxml完畢過後重新啟動Server然後再輸//localhost:/myapp/HelloWorld那麼偌大一個HelloWorld!等
著你呢恭喜你!

  第五步建立自己java Bean

   在你新建的Application myapp/WEBINF/classes/test目錄下新建TestBeanjava

  

  package test;
public class TestBean
{
private String name =null;
public TestBean(String nameInit){
thisname = nameInit;
}
public void setName(String newName){
thisname=newName;
}
public String getName(){
return thisname;
}
}

  然後照樣用javac TestBeanjava來編譯這個文件

  然後在你新建的應用程序目錄myapp下新建一個新的jsp文件testBeanjsp

  

  <%@ page import=testTestBean %>
<html>
<head>
<title>Test Bean</title>
</head>
<body>
<center>
<%
TestBean testBean = new TestBean(Http://);
%>
Java Bean Test:
The authors blog address is<%=testBean.getName()%>



  好了確定各個文件的位置

  

  myapp\indexjsp
myapp\testBeanjsp
myapp\WEBINF\webxml
myapp\WEBINF\classes\test\HelloWorldclass
myapp\WEBINF\classes\test\TestBeanclass

  重啟Tomcat如果需要的話在浏覽器輸入: 幸運的話就會看到:

  Java Bean Test: The authors blog address isHttp://

  這樣就完成了整個Tomcat下的jspservlet和javabean的配置

  第六步配置虛擬目錄

  打開 Tomcat\conf\serverxml 文件之間加入

  

  <Context path=/myapp docBase=D:\myapp debug= reloadable=true crossContext=true />


From:http://tw.wingwit.com/Article/program/Java/ky/201311/28562.html
  • 上一篇文章:

  • 下一篇文章:
  • 推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.