淺談eclipse產生的.classpath檔案 (轉

來源:互聯網
上載者:User

1、.classpath檔案時eclipse建立web工程的時候產生的一個檔案(就在工程目錄下),改變java Build path的時候或者改變載入的jar包順序的時候,這個檔案也會改變。

2、.classpath檔案不能隨意刪除。個人在將已有的工程import進入eclipse工作區的時候將.classpath檔案刪除了,然後再重新匯入jar包,整個工程就會重新編譯,也就會產生.classpath檔案,但是這個重建的.classpath檔案的內容可能就會出問題,也就有可能導致在tomcat部署的時候出現不可預料的問題。
例如:
   原始的.classpath檔案部分主要內容如下:
        <classpathentry kind="src" path="src"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
<classpathentry kind="output" path="WebRoot/WEB-INF/classes"/>

   個人刪除後,eclipse重新build的.classpath檔案部分主要內容如下:
        <classpathentry kind="src" path=""/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/jdk1.6.0_11"/>
<classpathentry kind="output" path="/bin"/>
說明下:<classpathentry kind="src" path="src"/> 表示工程源檔案的地址;
        <classpathentry kind="output" path="/bin"/>表示產生的class檔案地址;

比較前後兩個.classpath檔案可以發現,重新build的.classpath檔案裡面的源檔案地址為 <classpathentry kind="src" path=""/>,這樣,在整個工程裡面就會出現所有package錯誤,此時eclipse預設為package src.com.test, 而工程裡面正確的包名應該是 package com.test

另外,如果新產生的.classpath檔案class檔案地址為bin目錄下的,即<classpathentry kind="output" path="/bin"/> ,tomcat部署工程的時候,預設去WebRoot/WEN-INF/classes這個目錄尋找class檔案,而此時class檔案去不存在於bin目錄下面,故而tomcat下面沒有class檔案,在啟動時也就會產生ClassNotFoundException錯誤!

如果碰到以上問題的話,則可以參考原始.classpath檔案修改過來就可以了

以前沒有注意過.classpath檔案,這次讓我深刻瞭解了它,代價比較嚴重,花了不少時間。現在想想歸結原因就是我把.classpath檔案輕易刪除了。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.