记一次idea使用maven构建的项目中不包含src目录的解决过程

136 阅读3分钟

我报名参加金石计划1期挑战——瓜分10万奖池,这是我的第2篇文章,点击查看活动详情

太长不看版(结论)

  • 项目构建过程中报错首先检查是不是由于jar包下载失败引起。
  • jar包下载失败首先检查是不是源头受限,源在国外的话,由于不可说的原因建议合法使用梯子或者修改为国内的镜像源
  • 是否有 成功 修改镜像源?(比如配置文件分作用范围仅限该项目的和作用范围在所有项目的,这次改了a项目的配置文件,创建b项目就不得了;再比如你修改了xx的配置,但你在另一处设定里并没有启用xx,修改就是无用的)

背景介绍

(直接贴报错但是又不讲清楚其他设定的都是耍流氓哈~因为实际项目构建过程中,看上去报错是一样的,但是引起该报错的问题是不一样的;另外,为了找出真正原因,我重复建了好多个项目,一个个试是哪一步的问题,成功了之后我才写文章,截图来源于失败的项目demo,细节可能有点不一样,仅用于理解解决过程)

  • 因为是初学做项目,我 打算 用idea内置的maven。(我这个用词很严谨的哈,这也是最终失败的原因之一:打算了但没真正做到)
  • 在勾选maven后选中了该选项:

image.png

报错

新建项目后发现连src目录都没有:

image.png

于是通过搜索引擎查询会是什么原因。

其中一篇回答说正在构建,等一会儿就好了。

于是我点开终端,发现输出大意确实为“从中央仓库下载xx中”。

于是我等了很久,最终却告诉我下载失败,无法从xx远程仓库中中找到xxx(报错提示原文忘记了,字符串本身参考作用不大,看懂意思找源头最重要)

解决过程

于是我打算修改镜像源。在该项目的pom.xml中加入如下代码:

<repositories>
    <repository>
        <id>alimaven</id>
        <url>https://maven.aliyun.com/repository/public</url>
    </repository>
</repositories>

<pluginRepositories>
    <pluginRepository>
        <id>alimaven</id>
        <url>https://maven.aliyun.com/repository/public</url>
    </pluginRepository>
</pluginRepositories>

(这里插句题外话:由于网上的博客文章写作年份不一,有的文章中提到的仓库链接可能已经失效,想少踩点坑的话不要一来就复制粘贴,而是先去看看这个仓库还在不在,到底有没有自己需要的东西。)

修改完成之后,我发现rebuild项目好像也没有用,项目得重新构建了,于是我打算找到maven的全局xml文件(即settings.xml)。

但当我按照网上的博客的说法点开电脑的 .m2 文件夹后,发现并没有settings.xml这个文件。我第一个反应是自己写一个。于是我从网上找了一段代码模板,里面配置了阿里源。

再次新建项目后,我发现依然是从maven官网的仓库在下载(毫无疑问失败了)

这是怎么回事呢?

我突然想起来我本来也并没有在本地下载maven(也许下载过?忘记了。。),打算用的是idea内置的,现在这种情况说明它并没有如我所愿在用内置的maven!

于是我再次点新建项目按钮,通过几个next之后,发现这一栏我之前都是默认选择了Bundled(Maven3) ,但如果我想要内置的maven,应该用下面那个。

image.png

于是我修改了该处。为了避免日后当我想用自己下的maven版本的时候出现不必要的麻烦,我把setting file一栏也改成了上述地址加个conf/settings.xml,并且在选择构建项目之前,在电脑上顺着路径找到了该xml文件,将上述修改镜像源代码添加了进去。

重新创建项目之后就成功了。 下载jar包的速度嗖嗖的,而且也有了src目录:

image.png