eclipse常见问题技巧

旧城等待, 2022-06-13 12:10 811阅读 0赞

前言

  1. 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
以及如何配置远程调试weblogic、jboss和tomcat,但是里面对如何让tomcat支持远程调用并没有仔细说。再搜索,在tomcat的FAQ就找到了:
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_TRANSPORT是dt_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

利用JAD和JADClipse插件让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放入Eclipse的plugins子目录下

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

  1. <wb-module deploy-name="CASClient">
  2. <wb-resource deploy-path="/" source-path="/WebRoot"/>
  3. <wb-resource deploy-path="/WEB-INF/classes" source-path="/src/main"/>
  4. <wb-resource deploy-path="/WEB-INF/classes" source-path="/src/test"/>
  5. <property name="java-output-path"/>
  6. <property name="context-root" value="CASClient"/>
  7. </wb-module>

这样就可以了。

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

文中要点如下:



org.eclipse.wst.common.project.facet.core.builder





  1. <nature>org.eclipse.jem.workbench.JavaEMFNature</nature>
  2. <nature>org.eclipse.wst.common.modulecore.ModuleCoreNature</nature>
  3. <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中如下

,还可以查看一下其他属性是否正确,可以一起修改过来。

就可以了。

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 条评论,811人围观)

还没有评论,来说两句吧...

相关阅读

    相关 eclipse技巧

    1.eclipse,在一个项目中,打开一个文件,左侧项目自动定位到这个文件 ![20210326141331223.png][] 2.如果是maven项目,要使用maven

    相关 eclipse调试技巧

    本文写给那些像几年前的我一样刚刚走出校门,及一些未使用过这些高级些的调试技巧的人。   记得刚刚毕业的时候,自己连断点也不会打,当时还在用JCreate ,就连毕业设计也是

    相关 eclipse常见问题技巧

    前言              eclipse是一个功能强大的开发工具,工具用得好,往往能提高开发效率,节省开发成本,eclipse自身提供许多功能,还有许多开放的插件提

    相关 eclipse常见问题

    1.如何把MyEclipse中的web项目导入到Eclipse中运行 有时我们需要将MyEclipse中的项目导入到Eclipse中运行,如果不注意到一些细节,会造成无法运行

    相关 Eclipse使用技巧

    一、程序调试 1、设置断点      鼠标双击左侧设置断点      注意:在调试中断点所在的那一行没有执行,程序执行到断点的上一行 2、断点调试