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消失,可以码代码了。。。

 

  • 16
    点赞
  • 17
    收藏
  • 打赏
    打赏
  • 10
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:书香水墨 设计师:CSDN官方博客 返回首页
评论 10

打赏作者

llllllllll4er5ty

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值