eclipse常见问题技巧

前言

             eclipse是一个功能强大的开发工具,工具用得好,往往能提高开发效率,节省开发成本,eclipse自身提供许多功能,还有许多开放的插件提供增强的功能,这些功能若能充分利用,往往能为开发助力,达到事倍功半的效果。我们在开发过程中,往往还遇到许多问题,有时为解决这个问题会花费很多额外的时间,有时觉得eclipse很难用,其实我们不应因噎废食,只要我们善于总结,积累经验,遇到问题,积极探索解决问题,解决后把解决方法记录下来,下次就可以很快解决。基于以上原因,我总结了一些eclipse的开发功能、解决问题方面的记录或经验,以期望能给自己或其他需要的人提供参考和帮助。

1.功能集

Properties编辑插件

Myeclisep下的菜单Help->software updates->new remote site

输入名称为propertiesEdit,路径值为http://propedit.sourceforge.jp/eclipse/updates/

下载安装就可以了

Eclipse启动控制台显示行数加大

在concole中,右键,preference->run-debug->concole,将concole buffer size的值加大就可以了。

Eclipse启动参数调优

参考地址:http://apps.hi.baidu.com/share/detail/700664

目前本机参数为:D:\eclipse3.4\eclipse\eclipse.exe -vmargs -Xverify:none -XX:PermSize=20m -Xms128m -Xmx256m

Eclipse远程调试Tomcat

tomcatDebug.bat文件如下

java -Xdebug -Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=n -jar bootstrap.jar

参见http://diaoge.javaeye.com/blog/209910

remote Debugging with Eclipse说明了远程调试的原理,说明了让java程序支持被远程调用所需要的java参数如下
-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=1044
以及如何配置远程调试weblogicjbosstomcat,但是里面对如何让tomcat支持远程调用并没有仔细说。再搜索,在tomcatFAQ就找到了:
How do I configure Tomcat to support remote debugging?
如上面所示,其中的关键在于如何正确的启动tomcat。对于非windows平台下的操作来说,需要把%TOMCAT_HOME%/bin/startup.sh中的最后一行exec "$PRGDIR"/"$EXECUTABLE" start "$@" 中的start改成jpda start。如果的8000端口有其他用处的话,那么还需要修改catalina.sh文件,看其中的说明,添加一行JPDA_ADDRESS=”1044”或者其他你指定的端口。这样就可以通过startup.sh或者catalina.sh jpda start来其中支持远程调试的tomcat了。
windows平台上是一样的步骤,只不过.sh文件改成了.bat文件了。然后需要注意以下这些地方,
1
catalina.bat文件默认的JPDA_TRANSPORTdt_shmem,但是Eclipse只支持dt_socket,所以需要在catalina.bat中添加一行set JPDA_TRANSPORT=”dt_socket”
2
catalina.bat文件默认的端口是jdbconn,我也不知道这个端口是多少,因此添加一个set JPDA_ADDRESS="1044"

Eclipse查看任意JAR包/Class的源代码

参考http://yzc3096.blog.sohu.com/129028005.html

利用JADJADClipse插件让Eclipse查看任意JAR/Class的源代码

1. 下载JAD ,

http://www.kpdus.com/jad.html#download

最新的1.5.8g http://www.kpdus.com/jad/winnt/jadnt158.zip

将展开后的jad.exe放到某个目录,例如 c:\bin\jad.exe

2. 下载JADClipse插件

http://jadclipse.sourceforge.net/download.html

最新版3.2.2(适用于Eclipse 3.2M5以上,包括3.4.x)在 http://prdownloads.sourceforge.net/jadclipse/jadclipse_3.2.2.jar?download

将展开后的net.sf.jadclipse_3.3.0.jar放入Eclipseplugins子目录下

3. 启动Eclipse

> eclipse -clean

eclipse重新更新Plugin信息

4. 配置Jadclipse, Windows - Preferences - Java - JadClipse

配置Jad的路径为 C:\bin\jad.exe

如下图所示

5. 设置成功,则打开class文件,即可看到由JAD反编译的源代码,如下图所示

linked resource的使用

参考地址http://blog.csdn.net/wsmyf7958/article/details/1611781 

快捷键Content Assist的设置 

http://www.cnblogs.com/xd502djj/archive/2011/04/01/2002764.html

MyEclipse安装完成之后,有一个很常用的快捷键Content Assist(即代码提示)被默认为Ctrl + Space。

这会使得我们使用中文操作系统的计算机用起来很不方便,因为我们平时打字必用的切换打字法的快捷键,恰恰就是这个!

当然,你可以直接在Windows => Preferences... => General => Keys去替换掉这个快捷键,不过可能还会有其他快捷键与我们的中文操作系统有冲突。这里介绍一个一劳永逸,也是更“Eclipse化”的方法来改变这种尴尬局面:

在MyEclipse的启动选项中,其实有Duser.language这样一项设置,在MyEclipse安装完之后,它的默认值是等于en的,只要把它改成zh,重启MyEclipse之后,即可将Content Assist的快捷键改成Alt + /。

http://www.360doc.com/content/11/0228/17/795688_96921103.shtml 

有时eclipse编码时,显示no default proposals

解决方法:windows->preferences->java>editor>conten assist->advanced选中“other java proposals”即可解决 

快捷键

大小写转换:ctrl+shift+x,ctrl+shift+y

2.问题集

Eclipse项目中context root不能正常设置

有时发现,修改项目的context root,不能正常保存,可以查看如下文件,项目下.setting/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="CASClient">

        <wb-resource deploy-path="/" source-path="/WebRoot"/>

        <wb-resource deploy-path="/WEB-INF/classes" source-path="/src/main"/>

        <wb-resource deploy-path="/WEB-INF/classes" source-path="/src/test"/>

        <property name="java-output-path"/>

        <property name="context-root" value="CASClient"/>

    </wb-module>

</project-modules>

这样就可以了。 

eclipse的Tomcat插件不能正常显示使用

今天,发现eclipse启动报错,后来覆盖一个新的,恢复了,但是原来的Tomcat插件却不能显示加载了,想了半天办法也没解决。后来把eclipse下的plugin目录中的tomcat插件先移除到一个地方,再重新启动,然后再把tomcat插件移回plugin目录,再重新启动,tomcat插件竟然恢复正常了,其他什么配置也没改变。这种笨办法只能记录下来,毕竟eclipse软件是别人大牛们开发的,有些错误问题只能记录下来,吃一堑长一智了。以免日后为此白白浪费时间。

eclipse中如何将项目转成dynamic web project

http://www.360doc.com/content/10/0318/22/284485_19315868.shtml

文中要点如下:

<buildCommand>

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

                     <arguments>

                     </arguments>

              </buildCommand>

              <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>

工程的project facts还需要java选项。 

project properties->project facets选中[Dynamic Web Modules],[Java]就可以了。

如果加载服务器Server找不到这个web project,可以编辑项目下文件.setting/org.eclipse.wst.common.component中如下

<wb-module deploy-name="与项目同名">,还可以查看一下其他属性是否正确,可以一起修改过来。

就可以了。 

Eclipse启动不了,闪现启动界面后退出

现象描述:启动eclipse时,启动界面闪现了一下,然后就退出了

解决方法:发现可能是jdk重装,导致不能找到正确的jre路径。可以在eclipse启动参数中加入如下参数: -vm d:\jdk1.7\bin\javaw,重新启动即可解决。

Eclipse启动时报错:需要查看日志文件.log

Eclipse启动时报错,需要查看相应打开项目的.log,打开.log文件后看到错误信息如下:

!ENTRY org.eclipse.osgi 4 0 2012-05-04 09:45:43.250
!MESSAGE Application error                                                                                                                                                                                                                                                                 
!STACK 1
java.lang.NoClassDefFoundError: An error occurred while automatically activating bundle org.eclipse.core.resources (76).
 at org.eclipse.ui.ide.IDE.registerAdapters(IDE.java:1576)
 at org.eclipse.ui.internal.ide.application.IDEWorkbenchAdvisor.initialize(IDEWorkbenchAdvisor.java:201)
 at org.eclipse.ui.application.WorkbenchAdvisor.internalBasicInitialize(WorkbenchAdvisor.java:188)
 at org.eclipse.ui.internal.Workbench$28.runWithException(Workbench.java:1541)
 at org.eclipse.ui.internal.StartupThreading$StartupRunnable.run(StartupThreading.java:31)
 at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)

解决方法是:将打开工作空间目录的\.metadata\.plugins目录下文件夹全部删除,然后重新启动,恢复正常。

Eclipse的一个错误java.io.EOFExcept

1.      错误1控制台错误如下

严重: IOException while loading persisted sessions: java.io.EOFExcept

解决方法:原因是tomcat对硬盘的session读取失败,彻底解决办法一下:将work下面的文件清空,主要是*.ser文件,或者只是删除掉session.ser即可以解决。 

Eclipse下debug 出现Source not found

现象描述eclipse调试时,进入类的设置断点后,却没有跳转到java文件,而进入class文件,显示source not found。

解决方法

路径是Window --> Preferences --> Tomcat --> Source Path,在Source Path 标签下有行文字:Add java projects to source path(Eclipse debugger will search for source files in these projects),将要调试的project选中,然后在调试,问题解决。

eclipse运行工程时老是中断在断点ThreadPoolExecutor$Worker.run()

现象描述:eclipse运行工程时,即使未设断点,有时也会自动停在断点ThreadPoolExecutor$Worker.run()上。

解决方法:点菜单window->perferences->Java->Debug,找到 "Suspend execution on uncaught exceptions" ,取消勾选。即可解决。

java.lang.OutOfMemoryError: Java heap space

最简单的解决办法:

  eclipse中,window-->preferences-->Java-->Installed JREs

  选中JRE 点击Edit

写入这句话:

-Xms800m -Xmx800m -XX:MaxNewSize=256m -XX:MaxPermSize=256m

 

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

云焰

你的鼓励是我创作的最大动力。

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值