小知識Memo筆記

小知識筆記

一、Eclipse虛擬機配置

Eclipse需要運行在JVM上的,MyEclipse安裝的時候貌似也會順便安裝個jre,然後運行的時候在這個jre上。Eclipse也是的,不過經常Eclipse啓動後,會提示你說它需要運行在jdk上,但是現在運行在jre上,這樣的情況下,Eclipse常常有反應不過你的操作,而卡死。這就需要配置一下Eclipse的初始化啓動參數了。

Eclipse安裝目錄下和eclipse.exe同目錄,有個eclipse.ini,用編輯器打開該文件,配置如下:

-startup
plugins/org.eclipse.equinox.launcher_1.0.200.v20090520.jar
-vm
D:/tool/jdk6/bin/javaw.exe

      添加了紅色部分的參數,虛擬機指向本機安裝的jdk中的javaw.exe,需要注意的是,這個路徑不允許有空格,所以,安裝jdk的時候,不要採用有空格的安裝路徑。
很多人安裝jdk,比較懶,採用默認的Program Files,這裏面有空格,而且有空格的路徑,還有很多其他的壞處。

二、Server的配置
        Eclipse中配置服務器和MyEclipse配置服務器是不一樣的。
        MyEclipse配置服務器,比如說tomcat,現在有個tomcat6放在D:/,那麼MyEclipse是將服務器指向這個D:/tomcat6,當我們發佈工程的時候,Myeclipse會把工程按照打成war包的形式,以文件夾的形式拷貝到D:/tomcat6/webapps下面的。發佈多次的話也就拷貝多次,而且支持自動更新。

        對於Eclipse,配置Server後,也是指向D:/tomcat6。不同的是,它會在工作區下面創建一個Servers文件夾,下面放配置server的配置文件,可以配置多個Server,互不干擾的。發佈工程的時候,工程的內容不是copy到指向的服務器下面的,而是放到工作區下面的某個路徑下。
比如工作區是:D:\wspace
工程名稱是:mybatis         
那麼發佈工程到服務器的時候,比如tomcat,在工作區/Servers下面的tomcat對應的server.xml
中自動配置瞭如下:
<Context path="/mybatis" docBase="mybatis" ></Context>
這樣服務器啓動的時候,會去找工程發佈的文件,去哪找呢?在這裏:
{工作區}\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps
在這下面找mybatis,也就是docBase的值。如果以上的服務器是workspace中第一個配置的服務器,
那麼就是tmp0,如果接着在配置多個服務器就是tmp1,tmp2,以此類推。

        Eclipse另一種配置Server的方式:

        Ecliipse配置Server,通常是先配置了runtime的,比如tomcat,Eclipse添加Server時,需要指定它的runtime,這就先要配置好runtime。

        runtime配好後,就可以由一個runtime來配置多個Server。一個runtime可以配置多個Server。在runtime的基礎上新建Server很簡單的,不多說,配好了就如下:

   同時可以看到新建的server的配置文件:   


      這裏面新建Server時,還添加了一個工程,如圖,雙擊那個server [ tomcat6-exerc ]得到如下的配置頁面:


這上面可以對對我們新建的Server進行詳細的配置。在Server Locations下面,建議選擇Use Tomcat installation單選,這個時候Server path指向到了runtime的tomcat的目錄下了。另外在Deploy path,可以指定到runtime那個tomcat的webapps下。

通常,時間久了,我們的電腦上就會有越來越多的工程。我們一般不會把我們所有的工程都發布到同一個tomcat下的,那樣很亂,而且啓動起來很久又容易出錯的。有時,爲了解決這個問題,我們會拷貝很多個tomcat,分別發佈不同類型的工程,以免搞得太混了。但是tomcat多了,也佔空間啊。

上面的方法,就可以解決這些問題。我們可以只使用少數幾個tomcat,甚至只需要一個tomcat,但是發佈的時候,指向到不同的目錄,可以在本機盤上,建個目錄專門來放發佈的東西。根據以上配置Deploy path來管理髮布。


三、配置Dynamic Web Project

       在Eclipse中如果工程不是Dynamic Web Project,無法發佈到tomcat中,需要配置Project Facets。
       右鍵工程Properties,選擇Project Facets菜單,然後把右邊的Dynamic Web Module打勾,下方出現"Further Configuration Available",點擊[配置Context root和Context directory,初始值:
Context root=工程名                   
Context directory=WebContent

        一般Context root的值不改,就是工程名稱。而Context directory不會總是恰好是工程目錄下的WebContent,修改Context directory的值爲WEB-INF所在的目錄,例如Maven項目,值爲:src/main/webapp,保存以後,如果我們填的Context directory值在工程根目錄下不存在,它會爲我們生成這樣的目錄,而且目錄下面還會新建META-INF,WEB-INF/lib,WEB-INF/web.xml勾選的話。

       整個配置好了,工程就是具有Dynamic Web Project特性,可以發佈到tomcat的。
       發佈好了,查看server.xml:
       自動給我們添加了:
        <Context docBase="mybatis" path="/mybatis" reloadable="true" source="org.eclipse.jst.jee.server:mybatis"/>
      查看發佈的東西:

      D:\wspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\mybatis

當前的情況是,這個目錄在Eclipse的工作去內,而且所在的目錄位置有點隱祕啊,這個時候,可以配置一下上面提到的server.xml文件那個<Context>節點的docBase值,讓它指向工程的絕對路徑,如下:

       <Context docBase="D:/wspace/mybatis/WebContent" path="/mybatis" reloadable="true" source="org.eclipse.jst.jee.server:mybatis"/>

這樣訪問也是一樣的,不過這個對項目的配置還是有一定要求得D:/wspace/mybatis/WebContent下有WEB-INF,其下有lib和classes。整個工程的源文件編譯後的class必須放到這個classes下,而且lib目錄需要有足夠的jar包來運行工程,當然,WEB-INF/lib下面的jar包和tomcat/lib下的jar包是不能重複的,否則報錯。



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章