Here's to Change

请问你真的有在努力吗 ?

0%

解决 IDEA 中 创建 maven 项目时下载缓慢的问题

关于 IDEA 2016 maven web-app 速度缓慢的解决方式

这个问题的原因还是喜闻乐见的 GFW 的原因,maven 默认是从中央仓库更新依赖包和配置文件,所以下载非常缓慢。因此也导致项目无法正常生成,项目下的路径也不能正常创建。

好在中国还是有一些比较良心的公司,提供了maven的国内镜像,为我们这些屌丝开发者提供了可行的解决方案。

由于我是使用 idea 自带的 maven 插件,所以只需要修改插件的默认仓库地址就能快速的创建 maven 项目了。

首先打开idea的默认setting 页面,记住,是默认,不是当前项目,进入默认设置地方法就是在没有创建项目之前,有一个窗口,就是这个:

点击 configure –> settings –> Build,Execption,Deployment –> Build Tools –> Maven
找到 Maven home directory , 其中应该已经有了三个选项:Maven 2,Maven 3,还有一个本地路径的选项,对,选择的就是这个本地路径的选项.

然后在左侧选项卡当前选项下找到 Runner ,在 VM Options 中填写 -DarchetypeCatalog=internal ,点击 apply ,OK。

当然这个时候还没有配置镜像地址,还记得刚才本地路径的 Maven 选项么,就是这个路径,如果你跟我一样是 windows 系统,是默认安装,那么路径就是 C:/Program Files (x86)/JetBrains/IntelliJ IDEA/plugins/maven/lib/maven3 ,来到这个目录下,进入 conf 文件夹,首先不要着急更改 setting.xml 文件,因为即使你修改了也会因为没有读权限而无法保存。

打开文件属性,在 安全 选项卡下为当前用户添加 完全控制权限 ,然后点击确定保存。

现在进入 setting.xml ,来到大约 160 行,在 <Mirrors> 标签内,就可以直接设置国内镜像的地址,例如我的就是:

1
2
3
4
5
6
<mirror>
<id>mirror2</id>
<mirrorOf>central</mirrorOf>
<name>ALiBaBa Group Mirror.</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
</mirror>

你可以直接将我的配置复制进去保存即可,这里我使用的阿里的镜像源,实测速度还是很快的,新建 maven java web 项目大约十几秒就可以完全生成。
虽然理论上到这里就结束了,但是如果你和我一样为了保证万无一失,在创建新的项目的时候还需要添加一项配置:

新建一个 maven-archetype-webapp 项目,在输入 group id 后的这个页面,可以看到我们刚才配置的默认 maven 的路径,在这里可以选择添加一个配置项,点击页面的 + 号,新建一个属性,属性名是 achetypeCatalog ,属性值是 internal ,然后一路创建就可以了。

为什么说是选择添加这个属性呢,因为我们之前的设置就相当于全局配置所有的 maven 项目包含该属性,所以这里是否添加也无所谓了,如果你只是需要当前项目配置该属性,那么仅在这里添加就可以了。(在这里可以看到 user settings files 这个选项,然而我在对应的路径下根本找不到这个文件,所以只好直接修改 maven 的设置了 )。

实际项目路径

经过我实际测试,即使更改了镜像地址,如果不配置该属性,项目的生成还是非常缓慢的。