淺談eclipse生成的.classpath文件(轉)


1、.classpath文件時eclipse新建web工程的時候生成的一個文件,改變java Build path的時候或者改變加載的jar包順序的時候,這個文件也會改變。

2、.classpath文件不能隨意刪除。個人在將已有的工程import進入eclipse工作區的時候將.classpath文件刪除了,然后再重新導入jar包,整個工程就會重新編譯,也就會產生.classpath文件,但是這個重新生成的.classpath文件的內容可能就會出問題,也就有可能導致在tomcat部署的時候出現不可預料的問題。
例如:
   原始的.classpath文件部分主要內容如下:
    

[java]  view plain copy
 
  1.    <classpathentry kind="src" path="src"/>  
  2. <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>  
  3. <classpathentry kind="output" path="WebRoot/WEB-INF/classes"/>   


   個人刪除后,eclipse重新build的.classpath文件部分主要內容如下:

[java]  view plain copy
 
  1.         <classpathentry kind="src" path=""/>  
  2. <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/jdk1.6.0_11"/>  
  3. <classpathentry kind="output" path="/bin"/>   

 

 

 

 

 

 

 

 

 

[java]  view plain copy
 
  1. 說明下:<classpathentry kind="src" path="src"/> 表示工程源文件的地址;  
  2.         <classpathentry kind="output" path="/bin"/>表示產生的class文件地址;  

 

 

 

 

[java]  view plain copy
 
  1. 比較前后兩個.classpath文件可以發現,重新build的.classpath文件里面的源文件地址為 <classpathentry kind="src" path=""/>,這樣,在整個工程里面就會出現所有package錯誤,此時eclipse默認為package src.com.test, 而工程里面正確的包名應該是 package com.test   

 

 

 

 

[java]  view plain copy
 
  1. 另外,如果新生成的.classpath文件class文件地址為bin目錄下的,即<classpathentry kind="output" path="/bin"/> ,tomcat部署工程的時候,默認去WebRoot/WEN-INF/classes這個目錄查找class文件,而此時class文件去不存在於bin目錄下面,故而tomcat下面沒有class文件,在啟動時也就會產生ClassNotFoundException錯誤!  

 

 

 

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

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

在這里總結一下,警惕!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM