- 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><project>/.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><project>/.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"
-
-
<?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 的配置文件
- 刪除tomcat下的所有項目
- clean這個tomcat服務器
