idea复制maven项目,source root为原项目的解决方法

为什么要复制module?

    1.module中有大量相同的重复代码(多为测试的时候),一个个复制文件太麻烦;

    2.网速慢,新建maven项目常常要下载好多包,构建耗费大量的时间;

    3.版本问题。如springboot项目,idea只提供最近的几个版本的可选项,现在都是2.x版本,想新建springboot1.x版本的module,需要先选择一个2.x的版本,然后等创建完成后在手动改为1.x版本。这样会造成不必要的下载,更重要的是2.x的自动生成测试类和1.x的不同,编译运行时会报错,需要手动改,很麻烦。

所以如果有一个已经存在的module,采用复制的方法往往更加方便快捷。

 

idea复制maven项目,可以直接ctrl+c,crtl+v粘贴,如下图:

shiro-test-copy是复制之后的项目,可以看到该项目并没有加粗,说明还没有被识别为module。

如果是新建的module,则默认会将module写入父工程的pom配置文件;而复制的项目则不会,所以应该手动的将module写入配置文件。如下图:

上图,在父工程的pom文件中增加了module,可以看到左侧项目的module是“shiro-test(1)”,而右侧有两个shiro-test,证明module已经被项目识别,但是module名称没有改变,所以下一步要修改module名称。

修改为与目录名称相同的module名,我这里修改为shiro-test-copy,就可以看到复制的项目被加粗了。

 

到此,复制项目已经被识别为module,我们也修改了module名称使之与项目名对应,也修改了对应的pom文件的artifactId。

打开项目,发现新的问题出现了:

新项目的source root是shiro-test,这样会导致The root already belongs to module "XXX"的错误。

解决方法:

    打开project structure,找到被复制项目(这里是shiro-test),将复制后新加的source文件夹删除即可。如下图:

source root消失,可以码代码了。。。

 

评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值