• 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. 推荐几个Windows工具软件: HDDB - Everything的替代品

    主页: http://hddb.xp-zed.com/index.html 简单地说,HDDB 是NTFS磁盘的文件搜索工具,它最开始是模仿 Everything 的,但解决了 Everything ...

  2. 数据中心内负载均衡-ECMP的使用分析

    背景 数据中心的网络拓扑通常采用CLOS结构,主机之间常存在多条路径.数据中心为满足吞吐量敏感型流量的需求会提供大量的带宽资源.那么利用数据中心这种网络拓扑已知,路径资源.带宽资源丰富的特性,可以更好 ...

  3. JAVA基础知识点总结(全集)

    1.JAVA简介 1.1java体系结构:j2se,javaweb,j2ee 1.2java特点:平台无关(虚拟机),垃圾回收(使得java更加稳定) 1.3 JDK与JRE,JDK:java开发环境 ...

  4. [Artoolkit] Marker Training

    Link: Documentation About the Traditional Template Square Marker Limitations (重要) Traditional Templa ...

  5. .bat文件调用java类的main方法

    此处记录一个小例子,备用,说不定哪天写小工具时会用到. @echo on set JAVA_HOME=C:\Program Files\Java\jdk1.6.0_43 set classpath=. ...

  6. 6. Oracle闪回特性

    Oracle 闪回 (flashback)是9i版本提供的新特性.这一特性:其他数据库(PostgreSQL,Mysql)是羡慕不已.对数据恢复提供非常便捷的方式.闪回技术通常用于快速简单恢复数据库中 ...

  7. [Linux] 如何禁止使用口令只允许使用密钥建立 SSH 连接

    1. 创建 SSH KEY 使用 ssh-keygen 生成一个密钥对,并且将公钥注册到服务器的 $HOME/.ssh/authorized_keys 文件. 2. 确保启用 SSH 公钥认证功能 查 ...

  8. Twain

    3.7.37 ICAP_SUPPORTEDSIZESType:TW_UINT16Supported Messages:MSG_GET - TW_ENUMERATIONMSG_GETCURRENT - ...

  9. UDP协议的例子

    public class Service { // 服务器         public static void main(String[] args) {               Datagra ...

  10. easyui datagrid 去掉外边框及行与行之间的横线标题字体

    这是以前写的一个项目中写的东西,为了让datagrid样式好看,所有做的这个处理: 今天同事又问到于是记录下来 $('#id').datagrid({ width: '99%', height: 15 ...