idea导入maven项目(别人的项目)中的坑

作为一个经常学习交流的人,或者工作需要,我们都或多或少会把别人写好的代码拷贝过来学习或编辑,大多数时候都是把整个项目拿过来;但是往往把代码拿到之后放在自己电脑用 idea 打开的时候就会出现 pom.xml 文件红线报错,然后倒入的包全部不能用,导致 java 文件引用的类报错,下面就是刚导入的 pom.xml 代码



    
        maven_project
        com.zmj
        1.0-SNAPSHOT
    
    4.0.0

    J3spring02
  
    
        
            org.springframework
            spring-context
            5.1.5.RELEASE
        
        
            log4j
            log4j
            1.2.12
        
        
        
            org.aspectj
            aspectjweaver
            1.9.2
        
        
            aopalliance
            aopalliance
            1.0
        
    

然而我们看到的样子确实这样的:


idea导入项目报错2.png

别人都能跑的代码,为什么我拿来就报错了呢,电脑问题还是人品不好呢??

  • 首先我们明白,idea 中的 project 和 module 的区别,project 相当于是个工作空间,而 module 则是属于 project 以下的项目模块;
  • 然而我们拷贝的项目呢一般情况下是一个 module ,也就是我上面的代码;而 module 中是有一个标签的不知道大家发现没,没错就是那个报错的标签,这个标签的意思呢就是在创建 module 的时候,会用这个标签指定 module 的工作空间,parent 嘛父亲嘛,也就是说这个 module 属于某个空间项目;
  • 我们导入项目呢一般是新开一个窗口,新开一个窗口基本上就说明是一个 project ,project 本身就是一个父项目的存在,那这个时候 pom.xml 文件夹里面再有 parent 标签是不是不合适呢?没错不合适,所以就报错了嘛;
  • 那存在不合适我们把它消灭了(删除)是不是就好了呢,答案是 nonono ,因为任何project项目也好, module 项目也罢,都必须有一些标签的(不然就报错),其中必须有的就有 groupid,version 标签;所以在删除parent标签的同时还得給 pom.xml 文件加上这两个标签,groupid 可以自己命名,version 标签用默认的 1.0-SNAPSHOT 就好了;

修改后的 pom.xml 文件夹就如下:



    4.0.0
    J3spring02
    com.bdqn.zxw
    1.0-SNAPSHOT

    
        
            org.springframework
            spring-context
            5.1.5.RELEASE
        
        
            log4j
            log4j
            1.2.12
        
        
        
            org.aspectj
            aspectjweaver
            1.9.2
        
        
            aopalliance
            aopalliance
            1.0
        
    

改完之后,刷新一下maven项目就好了


idea截图.png

好了本次分享就结束了,希望能够帮到大家,最开始不熟idea的时候在百度真的不好找,感觉像没有人遇到过这个问题一样。其实注意观察的话可以在报错的时候刷新 maven 项目下方的信息区有个地方显示错误的,但是不会弹出来让你知道,这就很emmmmmm...了,其实是个小问题,希望大家不会被困扰,拜拜。

你可能感兴趣的:(idea导入maven项目(别人的项目)中的坑)