什么?Eclipse项目导入到idea不能运行?那你可能漏了点东西!

一、事情经过

自从用了Idea后,Eclipse在我这里已经成为了过去,已经起码有三年没有再用过Eclipse了。这次是拿到Eclipse的项目后,导入到Idea中出了点问题。
刚开始是直接从svn拿下来,直接导入到Idea中,没有问题。但是因为项目结构太乱,就删除了一些不相关的目录文件,再上传到svn。然后其他人拿到代码后跑不了了!然后我自己再重新checkout后发现,也是这个错误!

什么?Eclipse项目导入到idea不能运行?那你可能漏了点东西!_第1张图片

为什么会找不到类呢?jar包全都在啊?idea中也将目录中的jar包都引进了啊?

二、操作还原

一定是我删除了某个相关文件导致的问题,因此我就将项目回滚到删除相关文件之前的版本,再按之前的删除步骤逐步测试,最后发现了这两个小东西:
image.png

???
这不是导入到项目中后,就可以删掉的吗?之前删了也没有事啊,怎么现在就不行了呢?

三、原因

其实之前的这个项目就是用Eclipse构建的。.project主要是描述工程的基本信息:



   MyServer
   
      
         org.eclipse.jdt.core.javabuilder
      
   
   
      org.eclipse.jdt.core.javanature
   

name是项目名,natures运行时需要的额外Eclipse插件,及其buildSpec具体加载方式信息。

再看看.classpath:



    
    

kind="src" : 源文件的具体位置
kind="lib" : 工程的library的具体位置信息

看到这里就应该能知道为什么会出现ClassNotFoundException了,因为之前在Eclipse中,就是依靠它来指向jar包的位置的。

那为什么之前没有问题而删除后就有问题了呢?因为我删除后提交了代码,导致svn上的项目少了这两个Eclipse文件。为什么我在本地能跑项目,其他人就不可以呢?

因为我从svn上把项目拉下来,导入到idea的时候,会自动根据这两个文件构建出idea自己的iml工程配置文件,来指向那些jar包路径。即使我删除了.classpath文件,但是我本地已经有了iml文件,所以项目能跑起来。我删除后svn上就没有了,其他人拉代码下来,不能生成Idea的iml配置文件,所以就跑不了了。

我们真的对我们使用的开发工具熟悉吗 ?问题虽然简单,但是只有爬过这一个个的坑,我们才能逐渐的成长为一个 "老司机" ~ ~

你可能感兴趣的:(eclipse,idea)