• build项目时出现卡死现象的解决方案

场景:在使用使用Eclipse编辑文件保存时或者build项目时,经常出现卡死现象,此时即便杀死eclipse进程重启还是依然出现这种现象。

原因:eclipse中自带的对不同类型文件的格式和语法的验证机制以及创建的项目中.project文件中的验证机制造成的,但是很多时候这些验证是不必要的,甚至是很影响开发效率的。

由于每个人遇到的情况不尽相同,故将所有用过的方法罗列如下:

1、取消验证

windows–>perferences–>validation

把 除了manual 下面的全部点掉,build下只留 classpath dependency Validator

2、关闭拼写检查

windows–>perferences–>general–> editors->Text Editors->spelling

3、对于MyEclipse来讲,修改JSP页面时的编辑工具 

Window > perferences > General > Editors > File Associations >

在File types 中选择 *.jsp > 在Associated editors 中将"MyEclipse JSP Editor"设置为默认。

4、杜绝jar包访问网络

当用eclipse或myeclipse编辑JSP时,使用智能提示将可能导致ide卡死。

这是因为eclipse提示时会根据JAR包指定的javadoc location访问网络。

解决方法:window-->preferences-->java-->installed JREs,编辑使用的jre,把rt.jar和charsets.jar的javadoc location设置为空(none)即可。当然也可以去下载javadoc到本机,进行相关设置也可以解决。

另外:把自己项目中所有用到的jar包,都作同样处理。

5、修改打开链接的快捷键

最近在MyEclipse中编辑代码时,使用快捷键进行复制粘贴,经常会导致编辑器短暂的停顿,光标不跟随,居然反应不过来,几近假死。

想来想去应该是编辑上的什么配置或者是IDE的什么功能导致,于是进入Preferences查找edit功能,进行一个个的测试,最后发现原来是代码的超链功能导致。

进入方法:Window -> Preferences -> General -> Editors -> Text Editors -> Hyperlinking

把超链的快捷键改为其他键比如Alt(不能改为shift)

说明:在Eclipse中,经常可以使用Ctrl+鼠标单击,可以直接将编辑界面引导到相关的方法,属性,或者类。

这个功能确实非常好用,但是由于复制粘贴的功能快捷键也是Ctrl,以致我在快速进行操作的时候,Eclipse反应不过来,无法分析我的操作,现在只需要改变一个其他的快捷

6、修改项目的.project文件

eclipse中默认js编辑器非常慢,尤其在拷贝粘贴代码时的解决方法

使用的是官网标准版的eclipse3.9 for javaEE未装任何插件,写JS时卡的简直无法忍受,尝试去掉所有的validate,包括菜单和项目属性中的都无作用,后来在项目根目录..project中发现以下红色行居然Validator都还在,把红色对应的配置段全部删去后,问题解决,编辑JS再也不似蜗牛了.

 <buildSpec>

  <buildCommand>

    <name>org.eclipse.ui.externaltools.ExternalToolBuilder</name>

   <triggers>full,incremental,</triggers>

   <arguments>

    <dictionary>

     <key>LaunchConfigHandle</key>

     <value>&lt;project&gt;/.externalToolBuilders/org.eclipse.wst.jsdt.core.javascriptValidator.launch</value>

    </dictionary>

   </arguments>

  </buildCommand>

  <buildCommand>

   <name>org.eclipse.jdt.core.javabuilder</name>

   <arguments>

   </arguments>

  </buildCommand>

  <buildCommand>

   <name>org.eclipse.wst.common.project.facet.core.builder</name>

   <arguments>

   </arguments>

  </buildCommand>

  <buildCommand>

   <name>org.eclipse.ui.externaltools.ExternalToolBuilder</name>

   <triggers>full,incremental,</triggers>

   <arguments>

    <dictionary>

     <key>LaunchConfigHandle</key>

     <value>&lt;project&gt;/.externalToolBuilders/org.eclipse.wst.validation.validationbuilder.launch</value>

    </dictionary>

   </arguments>

  </buildCommand>

 </buildSpec>

 <natures>

  <nature>org.eclipse.jem.workbench.JavaEMFNature</nature>

  <nature>org.eclipse.wst.common.modulecore.ModuleCoreNature</nature>

  <nature>org.eclipse.wst.common.project.facet.core.nature</nature>

  <nature>org.eclipse.jdt.core.javanature</nature>

  <nature>org.eclipse.wst.jsdt.core.jsNature</nature>

 </natures>
  • 修改Dynamic Web Module 版本的修改

修改项目的设置,在Navigator下打开项目.settings目录下的org.eclipse.jdt.core.prefs

eclipse.preferences.version=1
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
org.eclipse.jdt.core.compiler.compliance=1.5
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
org.eclipse.jdt.core.compiler.source=1.5

把1.5改成1.6

eclipse.preferences.version=1
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
org.eclipse.jdt.core.compiler.compliance=1.6
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
org.eclipse.jdt.core.compiler.source=1.6

打开org.eclipse.wst.common.component

<?xml version="1.0" encoding="UTF-8"?>
<project-modules id="moduleCoreId" project-version="1.5.0">
<wb-module deploy-name="test">
<wb-resource deploy-path="/" source-path="/target/m2e-wtp/web-resources"/>
<wb-resource deploy-path="/" source-path="/src/main/webapp" tag="defaultRootSource"/>
<wb-resource deploy-path="/WEB-INF/classes" source-path="/src/main/java"/>
<wb-resource deploy-path="/WEB-INF/classes" source-path="/src/main/resources"/>
<property name="context-root" value="http://my.oschina.net/u/2292000/blog/test"/>
<property name="java-output-path" value="http://my.oschina.net/test/target/classes"/>
</wb-module>
</project-modules>

把project-version="1.5.0"改成project-version="1.6.0"

    1. <?xml version="1.0" encoding="UTF-8"?>
      <project-modules id="moduleCoreId" project-version="1.6.0">
      <wb-module deploy-name="test">
      <wb-resource deploy-path="/" source-path="/target/m2e-wtp/web-resources"/>
      <wb-resource deploy-path="/" source-path="/src/main/webapp" tag="defaultRootSource"/>
      <wb-resource deploy-path="/WEB-INF/classes" source-path="/src/main/java"/>
      <wb-resource deploy-path="/WEB-INF/classes" source-path="/src/main/resources"/>
      <property name="context-root" value="http://my.oschina.net/u/2292000/blog/test"/>
      <property name="java-output-path" value="http://my.oschina.net/test/target/classes"/>
      </wb-module>
      </project-modules>

打开org.eclipse.wst.common.project.facet.core.xml

<?xml version="1.0" encoding="UTF-8"?>
<faceted-project>
<fixed facet="wst.jsdt.web"/>
<installed facet="java" version="1.5"/>
<installed facet="jst.web" version="2.3"/>
<installed facet="wst.jsdt.web" version="1.0"/>
</faceted-project>

把<installed facet="java" version="1.5"/>改成<installed facet="java" version="1.6"/>,把  <installed facet="jst.web" version="2.3"/>改成  <installed facet="jst.web" version="2.5"/>

<?xml version="1.0" encoding="UTF-8"?>
<faceted-project>
<fixed facet="wst.jsdt.web"/>
<installed facet="java" version="1.6"/>
<installed facet="jst.web" version="2.5"/>
<installed facet="wst.jsdt.web" version="1.0"/>
</faceted-project>

都改好之后在打开看看,已经把Dynamic web module改成了2.5

好了,大功搞成,这是一种解决办法,如果还不行右键项目 > Maven > update Project…

  • 如何在eclipse中修改tomcat 的配置文件
  1. 删除tomcat下的所有项目
  2. clean这个tomcat服务器

eclipse几种常见问题的解决的更多相关文章

  1. ANDROID (eclipse)开发常见问题及解决办法汇总

    1.ANDROID 在eclipse中没有出现AVD的解决方法(转)如果android安装正确的话,但是eclipse里面的导航条就是没有AVD 可以通过「Window」⇒「Customize Per ...

  2. NHibernate常见问题及解决方法

    NHibernate常见问题及解决方法 曾经学过NHibernate的,但是自从工作到现在快一年了却从未用到过,近来要巩固一下却发现忘记了许多,一个"in expected: <end ...

  3. 转:WebTest的常见问题与解决

    WebTest的常见问题与解决录制好一个WebTest,加上各种规则,编辑后运行并不会像我们想象的那么顺利成功,往往会碰到很多问题,运行不成功的情况比较多,这样我们就遇到了如何解决这些问题的情形.1. ...

  4. fetch使用的常见问题及解决办法

    首先声明一下,本文不是要讲解fetch的具体用法,不清楚的可以参考MDN fetch教程. 引言 说道fetch就不得不提XMLHttpRequest了,XHR在发送web请求时需要开发者配置相关请求 ...

  5. WordPress源代码压缩优化及常见问题的解决

    先来看看效果: 意思就是让你的源代码看起来都挤在一起,这样如果别人想看你的源代码的话就不容易看懂了,(当然如果别人实在想看的话也可以通过某些软件的整理代码的功能来实现,比如IDEA的Ctrl+alt+ ...

  6. FineUIMvc 常见问题及解决办法

    Ø  简介 FineUIMvc 是基于 jQuery 的专业 ASP.NET MVC/Core 控件库,本文主要介绍 FineUIMvc 的常见问题及解决办法. 1.   View 中无法调用 Htm ...

  7. fetch使用的常见问题及其解决办法

    摘自: https://segmentfault.com/a/1190000008484070 fetch使用的常见问题及其解决办法 javascript wonyun 2月25日发布 |   0 收 ...

  8. PHPmailer发送邮件时的常见问题及解决办法

    来源:http://www.chinastor.com/a/jishu/mailserver/0G392262014.html 使用PHPmailer发送邮件时的常见问题总结: 一,没有定义发送邮箱$ ...

  9. 【小梅哥SOPC学习笔记】SOPC开发常见问题及解决办法集锦

    SOPC开发常见问题及解决办法集锦 一.Symbol 'NULL' could not be resolved 近期在评估使用NIOS II处理器进行项目的开发,我使用的软件是Quartus II 1 ...

随机推荐

  1. Android Launcher分析和修改8——AllAPP界面拖拽元素(PagedViewWithDraggableItems)

    接着上一篇文章,继续分析AllAPP列表界面.上一篇文章分析了所有应用列表的界面构成以及如何通过配置文件修改属性.今天主要是分析PagedViewWithDraggableItems类,因为在我们分析 ...

  2. 编写自定义Yeoman生成器简述

    1. 安装生成器Yeoman提供了generator-generator方便快速编写自己的生成器. 安装: npm install -g generator-generator运行: yo gener ...

  3. vue模板语法

    Vue.js 使用了基于 HTML 的模版语法,允许开发者声明式地将 DOM 绑定至底层 Vue 实例的数据.所有 Vue.js 的模板都是合法的 HTML ,所以能被遵循规范的浏览器和 HTML 解 ...

  4. azkaban在centos下的部署安装

    azkaban 是一个用Java开发的开源调度工具workflow. 下面介绍具体安装过程,我这里使用的版本是3.43.0,使用的是solo运行模式. 编译 git clone https://git ...

  5. Android四大组件之——Activity(一)定义、状态和后退栈(图文详解)

    什么是Activity 关键字:应用组件.四大组件.用户界面,交互. An Activity is an application component that provides a screen wi ...

  6. OSG模拟鼠标事件影响操纵器

    viewer->getEventQueue()->mouseButtonPress(0,0,1); viewer->getEventQueue()->mouseMotion(1 ...

  7. js的微任务和宏任务

    1.机制如下: 注意一点: 宏任务需要多次事件循环才能执行完,微任务是一次性执行完的: 2.宏任务macrotask: (事件队列中的每一个事件都是一个macrotask) 优先级:主代码块 > ...

  8. linux erase

    map的erase windows和linux不同,而迭代器弄不好就失效 1 #include <iostream> 2 #include <map> 3 #include & ...

  9. iOS - 标准时间与时间戳相互转换

    做倒计时后台传的不是时间戳,是时间然后需要与系统时间对比得出时间戳进行倒计时显示 #pragma mark -- 倒计时 // 倒计时时间 NSString* timeStr = task.recei ...

  10. html5__Notifications API 桌面通知

    MDN地址 google 文档 https://developers.google.cn/web/fundamentals/push-notifications/ const koa2 = requi ...