不要让catalogs搞死你的eclipse

楼主终于走出校园,踏上软件职场之路。新人要学的东西有很多,要战胜的东西很多,这些东西除了技术本身,还有对未知领域的恐惧,新接触技术,比如新的框架,可能好几天连一个helloworld级别的东西都写不出来,那种绝望感,真的,我深深体会。

上周末,刚接触maven,这周在做实验的时候,用eclipse创建的web项目,被maven的catalog搞死了我的elcipse好多次。惊恐之余,终于找到解决方案,现在把解决方案写出来,以便今后犯同样的错误的同行借用。

  现在我们来情景再现:

  在我的eclipse点击file->new->other->maven->Maven Project来创建一个新的maven项目.然后点击next,这一步要注意了,如果你选中了create a simple project,则不回出现下列问题。遗憾的是我没有勾选create s simple project.因为我想用一个archetype来创建一个maven project,点击next。不到一分钟,我还来不及选择想要的archetype类型,eclipse已经弹窗报告出错。

 'Retrieving archetypes:' has encountered a problem
An internal error occurred during:"Retrieving archetypes:".

点击详细报告:

An internal error occurred during: "Retrieving archetypes:".
Java heap space

点击OK,结果是冷冰冰的eclipse要求关闭的提示。

参考网上解决方案,你先按照方案一来,如果方案一还没有解决,再参考方案二。

方案一:
  1. 找到Eclipse的根目录下的eclipse.ini文件并用记事本打开.
  2. 修改文件中的以下配置
-Dosgi.requiredJavaVersion=1.6
-Xms512m
-Xmx1024m

这是配置你的jvm的默认最小内存。可是我做到这一步的时候,创建一个新的maven项目的时候还是出错,这是回到开头所说的,只要不勾选那个钩就ok了,但是问题是我想用maven的archetype的模板来创建项目啊。然后继续百度,重启eclipse,发现,这家伙,我的eclipse启动的时候,180多兆,完全启动占用的内存是250多兆,每当要创建新的maven项目,这下子内存不到一分钟就奔到600多兆去了。



从网上得到的经验应该是:每次新建项目,maven总是去连接远程的catalogs文件,而可能是我们的网友问题导致连接失败或者无限制的等待,其实我也不知道这与内存的泄露有什么关系,反正eclipse很粗暴的就爆出了内存堆泄露,要强制关闭eclipse,那个catalogs的选项全是空白。

方案二

配置eclipse中的maven archetype选项。

1. 首先去maven官网下载archetype-catalogs.xml文件,或者右键查看源码,然后再本地新建一个archetype-catalogs.xml文件,将复制到的内容粘贴进去,保存。

2. 在eclipse点击windows->preferences->Maven下拉三角形->archetypes有边框有archetypes的配置。选择添加本地的xml配置文件,Add Local Catalogs->File Location选择第一步创建的archtype-catalogs.xml,然后点击Apply->OK。

3. 重启eclipse,再次创建我的maven web项目,如果catalog的默认选项不是Default Local,记得要选择这个选项,再重启eclipse,发现这次不去网上找这个配置文件了,提供选择的catalogs的选择有一大堆,还可以filter过滤想要的模板,而且内存也在正常的200多兆。

  网上也有类似的解决方案,但是没有人能够将这两种解决方案解决起来,如果方案一还没有解决掉的童鞋,可以参考继续方案二。一个非技术性的东西就可以难道一个新人,那种无助感是只有自己能够体会的。由此可见,一个人要想从象牙塔式的生活过渡到真正的社会,从一个学生脱变为一名合格的软件工程师是不容易的。走过的坑多了,以后的路就平坦了。

不要让catalogs搞死你的eclipse的更多相关文章

  1. 【原创】IE11惊现无厘头Crash BUG(三招搞死你的IE11,并提供可重现代码)!

    前言 很多人都知道我们在做FineUI控件库,而且我们也做了超过 9 年的时间,在和浏览器无数次的交往中,也发现了多个浏览器自身的BUG,并公开出来方便大家查阅: 分享IE7一个神奇的BUG(不是封闭 ...

  2. 【原创】三招搞死你的IE11,可重现代码下载(IE Crash keyframes iframe)!

    前言 很多人都知道我们在做FineUI控件库,而且我们也做了超过 9 年的时间,在和浏览器无数次的交往中,也发现了多个浏览器自身的BUG,并公开出来方便大家查阅: 分享IE7一个神奇的BUG(不是封闭 ...

  3. .NET Core单元测试之搞死开发的覆盖率统计(coverlet + ReportGenerator )

    .NET Core单元测试之搞死开发的覆盖率统计 这两天在给项目补单元测试,dalao们要求要看一下测试覆盖率 翻了一波官方test命令覆盖率倒是有支持了,然而某个更新日志里面写着 ["Su ...

  4. wcf 中客户端调用之死 感悟 wcf与原来的webservice2.0 的客户端调用区别(wcf调用完不关闭的话那就把web服务搞死了)

    说到wcf,本人也是刚刚使用所以不是很熟悉 在做项目的时候采用webservice+客户端程序架构 写了一个wcf中的webservice之后,又写了很多的客户端exe程序,有的是轮询调用这个webs ...

  5. YisouSpider你想搞死我的服务器吗?

    在1分钟666次请求中,你占了445次,你大爷的想干啥呢? 42.156.254.30 - - [03/Feb/2016:11:46:00 +0800] "GET /thread-22063 ...

  6. oc学习之路-----搞死指针之内存存储int类型

    关于每个数据类型个字节在内存中的存储地址(以int为例) 先上图 如题,为什么说好的*p = &c是1啊,为什么是513呢,一开始,我也觉得挺惊讶的,后面听老师分析了一下才知道怎么回事,但是还 ...

  7. 今天差点被断电搞死了,幸好IDE的备份救了我

    今天早上,刚好改了几个PAS的源代码,在按CTRL+SHIFT+S(保存全部) 时,突然断电.有电后,发现这些保存的文件都变成乱码了............. DFM,PAS都是这样,幸好DELPHI ...

  8. 【ANT】ant使用

    官网:https://ant.apache.org/,task介绍:https://ant.apache.org/manual/index.html 0.介绍: Ant的构建文件当开始一个新的项目时, ...

  9. [eclipse相关] eclipse 安装svn插件

    最近看到别人带主题的eclipse,非常羡慕,所以也换了一个eclipse,版本是java ee luna 4.4.2,然后得偿所愿有了花花绿绿的代码界面:) 但是差点被svn搞死,~~~~(> ...

随机推荐

  1. SQL Server 2005 数据库 可疑状态

    KJDY数据库名称 ALTER DATABASE KJDY SET EMERGENCY ---修改数据库为 紧急模式 ALTER DATABASE KJDY SET SINGLE_USER ---单用 ...

  2. 关于 window.parent, window.top, window.self 详解

    在应用有frameset或者iframe的页面时,parent是父窗口,top是最顶级父窗口(有的窗口中套了好几层frameset或者iframe),self是当前窗口,opener是用open方法打 ...

  3. PetaPoco4.0的事务为什么不会回滚

    using (var srop=DbHelper.CurrentDb.GetTransaction()) { ID = bp.AddModel(model).ToStr(); #region 参与楼盘 ...

  4. 数据结构:链表(python版) 续:增加比较函数

    题目: 基于元素相等操作"=="定义一个单链表的相等比较函数.另请基于字典序的概念,为链表定义大于,小于,大于等于,小于等于的判断 class LList: "" ...

  5. Java基础知识回顾

    Java回顾之I/O Java回顾之网络通信 Java回顾之多线程 Java回顾之多线程同步 Java回顾之集合 Java回顾之序列化 Java回顾之反射 Java回顾之一些基础概念 Java回顾之J ...

  6. Android开发4: Notification编程基础、Broadcast的使用及其静态注册、动态注册方式

    前言 啦啦啦~(博主每次开篇都要卖个萌,大家是不是都厌倦了呢~) 本篇博文希望帮助大家掌握 Broadcast 编程基础,实现动态注册 Broadcast 和静态注册 Broadcast 的方式以及学 ...

  7. tomcat accesslog日志扩展

    由于工作需要,最近对tomcat的日志进行了一些研究,发现其日志大致可以分为两类,一类是运行日志,即平常我们所说的catalina.out日志,由tomcat内部代码调用logger打印出来的:另一类 ...

  8. SharePoint 2013 扩展查阅项功能

    SharePoint 2013的查阅项功能,就是可以扩展其他列表字段为当前列表选项,但是选项太多的时候,会造成选择起来非常麻烦,所以,我们采取JS+Ajax的方式,改善一下这个展示,使操作更加方便. ...

  9. 微信平台ASPX高级定制开发(一):如何使用C#建立响应微信接入和自动回复的代码

    微信平台不解释了,如果不了解的百度一下下,如果不会用微信,请自宫,光盘重启电脑,打开CMD输入Format C:.网上有很多针对企业级的高级定制ASPX开发,写得草草了事,很多男人干事都草草了事,这可 ...

  10. Java Web中乱码问题

    response.setContentType("text/html;charset=UTF-8"); 用于定义网络文件的类型和网页的编码,决定浏览器将以什么形式.什么编码读取这个 ...