自從用了Idea後,Eclipse在我這裏已經成爲了過去,已經起碼有三年沒有再用過Eclipse了。此次是拿到Eclipse的項目後,導入到Idea中出了點問題。
剛開始是直接從svn拿下來,直接導入到Idea中,沒有問題。可是由於項目結構太亂,就刪除了一些不相關的目錄文件,再上傳到svn。而後其餘人拿到代碼後跑不了了!而後我本身再從新checkout後發現,也是這個錯誤!java
爲何會找不到類呢?jar包全都在啊?idea中也將目錄中的jar包都引進了啊?eclipse
必定是我刪除了某個相關文件致使的問題,所以我就將項目回滾到刪除相關文件以前的版本,再按以前的刪除步驟逐步測試,最後發現了這兩個小東西:
ide
???
這不是導入到項目中後,就能夠刪掉的嗎?以前刪了也沒有事啊,怎麼如今就不行了呢?svn
其實以前的這個項目就是用Eclipse構建的。.project主要是描述工程的基本信息:工具
<?xml version="1.0" encoding="UTF-8"?> <projectDescription> <name>MyServer</name> <buildSpec> <buildCommand> <name>org.eclipse.jdt.core.javabuilder</name> </buildCommand> </buildSpec> <natures> <nature>org.eclipse.jdt.core.javanature</nature> </natures> </projectDescription>
name是項目名,natures運行時須要的額外Eclipse插件,及其buildSpec具體加載方式信息。開發工具
再看看.classpath:測試
<?xml version="1.0" encoding="UTF-8"?> <classpath> <classpathentry kind="src" path="admin"/> <classpathentry kind="lib" path="libs/commons-io-1.4.jar"/> </classpath>
kind="src" : 源文件的具體位置
kind="lib" : 工程的library的具體位置信息ui
看到這裏就應該能知道爲何會出現ClassNotFoundException了,由於以前在Eclipse中,就是依靠它來指向jar包的位置的。idea
那爲何以前沒有問題而刪除後就有問題了呢?由於我刪除後提交了代碼,致使svn上的項目少了這兩個Eclipse文件。爲何我在本地能跑項目,其餘人就不能夠呢?spa
由於我從svn上把項目拉下來,導入到idea的時候,會自動根據這兩個文件構建出idea本身的iml工程配置文件,來指向那些jar包路徑。即便我刪除了.classpath文件,可是我本地已經有了iml文件,因此項目能跑起來。我刪除後svn上就沒有了,其餘人拉代碼下來,不能生成Idea的iml配置文件,因此就跑不了了。
咱們真的對咱們使用的開發工具熟悉嗎 ?問題雖然簡單,可是隻有爬過這一個個的坑,咱們才能逐漸的成長爲一個 "老司機" ~ ~