小知識Memo筆記

來源:互聯網
上載者:User

小知識筆記

一、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包是不能重複的,否則報錯。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.