如何用eclipse 运行java程序建立一个Java应用程序

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
您的访问请求被拒绝 403 Forbidden - ITeye技术社区
您的访问请求被拒绝
亲爱的会员,您的IP地址所在网段被ITeye拒绝服务,这可能是以下两种情况导致:
一、您所在的网段内有网络爬虫大量抓取ITeye网页,为保证其他人流畅的访问ITeye,该网段被ITeye拒绝
二、您通过某个代理服务器访问ITeye网站,该代理服务器被网络爬虫利用,大量抓取ITeye网页
请您点击按钮解除封锁&天极传媒:天极网全国分站
您现在的位置:
& >&使用Eclipse调试Java程序的10个技巧
使用Eclipse调试Java程序的10个技巧博客 09:49
  你应该看过一些如《关于调试的N件事》这类很流行的帖子 。假设我每天花费1小时在调试我的程序上的话,那累积起来的话也是很大量的时间。由于这个原因,用这些时间来重视并了解所有使我们调试更方便的功能。那能为你省下一些时间,也将会使你的生活更安逸、轻松。同时也表明其它关于此主题的帖子也是很有价值的。
  第1条:不要调试太多
  一个关于调试的疯狂声明作为开头。但它必须是要说的!尝试切分一下你那复杂的逻辑成多个独立的单元,并编写单元来检测你代码的正确性。我想像如下这样的流程应该是发生得非常频繁的----一些人通过大型web应用程序点击、填写多个表单、切换到不同的页面、正在最后的页面上检测工个计算逻辑和实现这个调试视图中的大部分逻辑。在启动你的tomcat之前总是问你自己:有没有方法使用一个单元测试来检测这些行为?你在过去这些时间可以不知道或已忘记这些,但从现在开始,我们将要关注一些eclipse的调试技巧,你会发现有大量的关于良好代码设计的好东西。
  - 断点视图 : 条件断点
  如果你只对应用中的某部分感兴趣的话,这个功能非常有用。例如,如果你要在第13次循环的时候检查程序,或者在一个抽象父类中调试某些功能,而你只关注其中一个具体的实现。你可以在断点视图中设置条件,或者通过代码旁边的蓝色断点标记的右键菜单("Breakpoint Properties")设置。你可以在条件代码片段为true的时候暂停程序,或者当代码片段的值改变的时候挂起程序。
  - 变量视图:展示逻辑结构
  如果你需要在变量视图查看一个Map对象或者List对象的值,对于eclipse的默认设置,一般并不是那么容易。假设,你使用的是HashMap,你需要点击遍历各个实体条目,并面临各种HashMap的实现细节。但是,在变量视图上面有一个叫做“Show Logical Structure”的按钮。它非常有用,尤其当你的对象的toString()方法所展示的信息并不友好的时候。我的老大在几周前为我展示了这个功能。你知道,他经常跟PowerPoint或者Excel打交道。对于我这么一个开发人员,多丢脸哦
  未开启“Show Logical Structure”
  开启“Show Logical Structure”
  - 变量视图:更改变量值...
  当你需要稍微更改输入信息的时候,不需要重新开始调试会话,只需在一个表格中输入新的信息,你可以在调试阶段直接修改你的变量的值。有写时候,你可以节省一些时间,你可以通过这个功能,更加简单的模拟一些怪异的情况。
  - Display视图
  你知道“Display视图”吗?你可以在调试过程中,通过“Window” -& “Show View” -& “Display”来激活它。现在,你的eclipse应该是一个空白的新视图。你可以使用这个视图,输入或者演算一些新的代码。这些代码在当前的调试位置的上下文环境中被执行,这意味着,你可以使用所有变量甚至是内容助手。要执行你的代码的话,只需标记它,并使用右键菜单或者CTRL+U(执行)或者 CTRL+SHIFT+I (检查).
  - 导航: Drop to Frame
  我想任何人都知道“Step Into”, “Step over”,而且可能也知道“Step return”. 这些是调试时的基本导航功能。我想提两个我非常喜欢的导航的高级方法。第一个是“Drop to Frame”. 使用这个特性你可以及时回退
你可以直接回退到运行过的堆栈帧中某一帧。当我调试时,一不小心错过了某个关注的代码行时,我常常用这个回退一帧。使用“Drop to Frame”这个特性我可以简单的重新运行某帧代码。
  - 导航: Step into Selection
  第二个是“Step into Selection”. 这也是很简单,但很多人使用的一个。要使用它,你只需要按 Ctrl+Alt 同时点击一个你想运行到的方法名。非常方便,非常快速。相比“Step Into”这个非常方便,想想你像跟踪进一个有很多参数的函数,如果用“Step Into”你必须进入,退出每个参数计算过程,才能进入到你真正想进的函数。“Run to”也是很棒的特性。只需要把光标放在你想运行到的哪一行前面,然后按“CTRL+R”就可以了。
  -:使用键盘
  如果避免使用的话,你的操作速度会更快。你至少应该如下的快捷键:
  F5 C “单步进入”
  F6 C “单步执行并跳过”
  F7 C “单步执行并返回”
  F8 C “继续执行”
  Ctrl+Shift+B C “添加断点”
  Ctrl+Shift+I C “检查”
  - 断点视图:Watchpoints
  如果改变这个变量会有什么结果?! 有时候创建一个watchpoint对于调试会非常有用。调试器会停止,不管这个被观察的字段是被修改还是被读取 - 你可以自己来配置决定。你只需双击一个字段,然后你就可以在断点视图中看到watchpoint,并且可以编辑它的属性。你甚至可以一个访问次数,这意味着当变量被访问的次数达到这个数量的时候,调试器会停止。这对于普通的断点也适用。
  - 友好的可读的对象
  变量视图是使用对象的toString方法来现实对应的值。因为这个原因,如果提供友好的toString方法实现,对调试来说会非常有用。在javadoc中关于java.lang.Object的默认toString实现,也是这样推荐的:
  返回一个表示该对象的字符串。通常toString方法返回这么一个字符串,“字面表示”该对象。返回结果必须是一个简洁却富含可表示该对象的信息,并且友好可读取。我们推荐所有的子类都覆盖这个方法。
  你可以参考commons-lang中的 ToStringBuilder。它提供一些功能来编写 (引用自javadoc ) "良好并连贯” 的toString方法。
  默认的ToString
  默认的ToStringBuilder例子
  ToStringBuilder例子 C 多行文本风格
  如果你不能修改toString实现,例如你现在使用框架或者一个外部的API,你可以有另外一个选择,在Eclipse中创建一个“Detail Formatter”。你需要在变量视图中右击一个对象,并点击“New Detail Formatter…”。然后你就可以输入一些代码,用于展现这个对象。
  原文链接:http://www.oschina.net/translate/again-10-tips-on-java-debugging-with-eclipse
(作者:oschina 责任编辑:Sunny)
天极新媒体&最酷科技资讯扫码赢大奖
* 网友发言均非本站立场,本站不在评论栏推荐任何网店、经销商,谨防上当受骗!
办公软件IT新闻整机Eclipse 是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标准的插件集,包括Java开发工具(Java Development Kit,JDK)。
本文为大家讲解的是Eclipse下创建 web项目及入门示例,感兴趣的同学参考下。
Eclipse 是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标准的插件集,包括开发工具(Java Development Kit,JDK)。
Step 1:新建动态网站项目并配置Servlet服务器
启动Eclipse,新建一个项目,在建立新项目的向导中选择&Dynamic Web Project&(动态网站项目),如图:
点击&Next&,进入向导的下一步,键入项目名称,这里键入&MyWebApp&,然后是设置Servlet服务器,这里需要把已经安装完成的Tomcat 6.0设置为Eclipse的调试Servlet程序的默认服务器。
设置方法为点击&New...&如图:
在接下来对话框中选择 Tomcat v6.0,如图:
点击&Next&进入向导的下一步,点击&Browse...&,设置Tomcat 6.0的安装路径,设置好后点击&Finnish&,完成servlet服务器设置。
Servlet服务器设置成功后,Eclipse会显示如图的信息,点击&Finish&完成新建项目的向导!
动态网站项目建立成功后,Eclipse的显示和各个图标的作用如图显示:
Step 2:新建Servlet程序,并调试程序:
与普通Java项目类似,需要新建立Servlet类文件,在项目图标&MyWebApp&上点击鼠标右键,选择&New&-&&Servlet&,如图:
在弹出的向导对话框中,输入新建立的Servlet类名&EchoForm&,如图:输入完成后点击&Finish&完成新建Servlet类
建立Servlet类后,在程序编辑器中编辑程序,按照例1-3的输入,输入完成后,点击工具栏中的运行按钮,运行程序:
//EchoForm.java:
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import java.util.*;
Eclipse运行sevlet和jsppublic class EchoForm extends HttpServlet{
&&& public void service(HttpServletRequest req, HttpServletResponse res)
Eclipse运行sevlet和jsp&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& throws IOException{
&&& res.setContentType(&text/html&);
&&& PrintWriter out = res.getWriter();
&&& Enumeration flds = req.getParameterNames();
Eclipse运行sevlet和jsp&&& if(!flds.hasMoreElements()){
&&&&&&& out.print(&&html&&);
&&&&&&& out.print(&&form method=\&POST\&& +&action=\&EchoForm\&&&);
&&&&&&& for(int i = 0; i & 10; i++)
&&&&&&&&&&& out.print(&&b&Field& + i + &&/b& & +
&&&&&&&&&&&&&&&&&&& &&input type=\&text\&&+& size=\&20\& name=\&Field&
&&&&&&&&&&&&&&&&&&& + i + &\& value=\&Value& + i + &\&&&br&&);
&&&&&&& out.print(&&INPUT TYPE=submit name=submit Value=\&Submit\&&&/form&&/html&&);
Eclipse运行sevlet和jsp&&& }else{
&&&&&&& out.print(&&h1&Your form contained:&/h1&&);
Eclipse运行sevlet和jsp&&&&&&& while(flds.hasMoreElements()){
&&&&&&&&&&& String field= (String)flds.nextElement();
&&&&&&&&&&& String value= req.getParameter(field);
&&&&&&&&&&& out.print(field + & = & + value+ &&br&&);
&&& out.close();
运行程序时会弹出一个对话框选择运行Servlet的服务器,这里选择新建一个Servlet服务器后点击&Finish&
如果Tomcat已经设置好,可以看到Servlet程序的运行效果,如图,实际上就是在Eclipse中运行了一个IE浏览器作为客户端,可以在&Field0&。。。各输入框中输入一些文字然后点击&Submit&查看效果
当然也可以在运行程序的同时,打开一个网页浏览器比如IE,然后在地址栏中输入&http://localhost:8080/MyWebApp/EchoForm&,可以看到同样的运行效果
调试完成后需要将Servlet服务器(Tomcat)停止,如图所示:
Step 3:新建JSP文件并运行:
同样在&MyWebApp&项目的图标上单击鼠标右键,选择&New&-》&JSP&
在弹出的向导对话框中输入新建的JSP文件名&CurrentTime.jsp&,主意要输入文件的全名(即包括文件扩展名),然后点击&Finish&建立JSP文件
在Eclipse的文件编辑器中,对新建立的&CurrentTime.jsp&进行修改,如图所示插入一行JSP代码即可,然后点击工具栏中的运行按钮,查看运行效果
&%=System.currentTimeMillis()/1000&%&
Copyright &
All Rights Reserved &&&&&&Java问题我用eclipse软件做一个项目,我里边创建了一个类 - 爱问知识人
(window.slotbydup=window.slotbydup || []).push({
id: '2491531',
container: s,
size: '150,90',
display: 'inlay-fix'
做一个项目,我里边创建了一个类,类名为:Jisuanqi
要实现的是两个数的加减乘除的运算
首先我声明了变量num1(第一个运算数)、num2(第二个运算数)和aa(运算符)
那么aa(运算符)应该是String类型的,但是我创建对象名为:jisuan,调用aa(运算符)---jisuan.aa
我用if()结构来判断输入的运算符
例:if(jisuan.aa=="+"){}
但是在控制台输入运算符“+”判断却不为真
请问各位行内人士问题出在哪里?
如果我在创建类时aa申明的类型为int,那么
例:if(jisuan.aa==1){}
这样用数字代替运算符号
就能得到运算结果。
LZ的问题原因在于:基本类型的比较可以使用==,int是基本数值类型,而String是一个对象引用类型。
对象的比较必须使用equals方法。例如:
String a = "+";
System.out.println(a.equals("+"));//输出结果为true
String,File,Date,包装类....重写了equals()方法
规则为:若两个对象的类型一致 且内容一致 就返回true
您的举报已经提交成功,我们将尽快处理,谢谢!
大家还关注在开始使用Eclipse的时候,会发现一个问题,那就是如何打开一个现有的Eclipse工程,开始在菜单中找了好久也没找到。   其实,Eclipse生成的结果不像VC,Jcreator那样可以直接打开,若要打开非workspace文件夹下的其他已有工程,可以打开菜单file-&import&general&existing project into space.在select root directory中选中要打开的文件夹即可。此时如果选择copy existing project into workspace就会同时将文件拷贝到workspace下。这里首先要保证要保证Eclipse两个文件.classpath和.project还在,不然无法导入,就是说Eclipse的import只认自己家的东西。   如果要打开的工程与Eclipse的配置不同,在运行时会产生问题。解决方法是:   打开菜单project&properties修改。主要需要修改的是java build path项。&&如何使用Eclipse导入并运行源码由于eclipse用得不是很熟,还不知道怎么样把已有的文件导入到工程中来,网上研究,顺利解决。我的源码存放地址是: C:\Documents and Settings\Administrator\桌面\手机QQ2007正式版\src 创建eclipse工程就不赘述了,建立的工程文件目录是:C:\Documents and Settings\administrator\桌面\MyQQ 我使用的是eclipse3.2.1中文版,导入源码到工作空间中去,选择文件-&导入,然后再选择文件系统,再选择要导入的源码的路径即可导入。导入后打开项目-&属性对话框,在Java 构建路径中的源代码中选择想要编译的目录,并且可以设置输出路径,点OK后即可对所导入的源文件进行编译。十分方便。由于我导入的源文件下还有目录,所以这时会报错,因为导入后会按包的形式组织,所以会报以下错误: The declared package does not match the expected package appendixaStringer.javaThinking in Java/appendixaline 1日 14:11:203870 这时只要在程序的最前面加上package命令就可以了,例如对于以上的报错,需要加入package appendixa即可。编译后接着就是运行了,运行的时候要注意,需要在工作路径下按照包来调用,例如我的工作路径是\thinking in java\c04\,下有SimpleConstructor.java文件,编译完成后,需要在\thinking in java目录下输入:java c04.SimpleConstructor,这里包括了正确的包结构,这样才能正常运行。 没有包含正确的包结构或者没有在正确的路径下操作,则会报以下错: Exception in thread "main" java.lang.NoClassDefFoundError: c04/SimpleConstructor 注意目录结构是/thinking in java\c04\SimpleConstructor,所以要在thinking in java目录下运行以下命令,注意要加包结构。 运行结果如下: D:\javacard\Thinking in Java&java c04.SimpleConstructor Creating Rock Creating Rock Creating Rock Creating Rock Creating Rock Creating Rock Creating Rock Creating Rock Creating Rock Creating Rock这是一个有关对象初始化和构造的程序。碰到的金山词霸发现只有最大化和最小化,点击右下角图标出现不了金山词霸界面,任务栏上有这个图标,只有在任务栏上点右键进行最大化才能使用金山词霸,那么点击右下角图标打开词霸,它跑到哪儿去了呢,这个问题困扰了我好多天。今天到baidu上去查了一下,发现原来金山词霸已经在窗口界面的外面了,必须用键盘进行拖回来。这个问题第一次碰到。&网上查阅资料顺便转载别人写的东西,觉得不错,如下: 如何使用Eclipse导入并运行源码如何使用Eclipse导入并运行源码(原创哦,如有转载,请注明作者forest077)网上关于Eclipse配置和开发入门程序的文章很多,可是要么很粗浅,要么很高深,却很少看到讲解如何把别人的源码导入到自己的Eclipse环境中编译运行的描述。做为初学者,能够学习网上一些优秀源码是提高的必由之路,可是Eclipse却不象VC和Delphi那样容易上手,对于很多初学者来说,它似乎还是太难了点。在找不到很好的关于Eclipse入门教程的情况下,为了能运行网上下载的Java源码,我颇费了一些时间寻找如何正确的导入源码并运行的方法,不敢独美,特贡献出来与初学者共享。 运行环境: Java EE 5.0 Eclipse 3.2.1中文版 源代码用例(都是Java Application): 仿真Windows记事本 连连看 上述的两个源代码在赛迪网上可以找到。关于JDK的配置、安装和Eclipse的安装本文不再赘述,读者可以很容易地找到相关的资料。本文只讲使用Eclipse来导入源代码的方法。 首先确保你的工作空间已经创建好,在我的机器上工作空间所在的目录是&e:\workspace&。源代码存放路径假设为&我的文档\cai\Java\一个仿windows的记事本&和&我的文档\cai\Java\连连看\kyodai&。 下面开始介绍导入源码的方法。 ◎选择菜单&文件/新建/项目&,选择&Java项目&,弹出&创建Java项目&对话框。 ◎在&创建Java项目&中输入&项目名&,项目名可以为任意名字,不必和main类的名字一样。这里假设为&Notepad&。 在&内容&中有两个单选按钮,视你的需要来使用。其中&在工作空间中创建新项目&会在你的工作空间中创建一个新目录,目录名与项目名一致;&从现有资源创建项目&可以在源码所在目录中直接编译运行,生成的class文件也会存放在源码目录中。下面先讲&在工作空间中创建新项目&的方法。 ◎在&内容&中单选&在工作空间中创建新项目&,点击&完成&按钮。此时在e:\workspace下生成Notepad目录。 ◎下面需要导入源码到工作空间去。选择菜单&文件/导入&,选择&文件系统&。弹出&文件系统&对话框。 ◎在&从目录&中选择源码存放目录&我的文档\cai\Java\一个仿windows的记事本&,勾选上所有的.java源码,其他的垃圾不要选上。下面又有两个选择:对话框下方有两个选项,若选择&创建完整的文件夹结构&,就会按源码所存放的路径完整地在工作空间中创建目录,创建完毕会由于main方法类的路径不对而在包资源管理器内的图标上显示叉叉,无法编译成功;若选择&只创建选择的文件夹&,则会在工作空间创建的目录下导入所有的文件而不会保留原目录,此时可以编译成功。 ◎若选择&创建完整的文件夹结构&,导入完成后,选择菜单&项目/属性/Java构建路径/源代码&,点击&添加文件夹&,把子目录逐级点开,直到源代码所在这级目录为止,勾选上该目录。弹出的提示对话框点击确定即可。注意上级目录不要勾选,否则会报错。这样这种方法导入的源码也可以编译运行了。 ◎注意若源代码中含有子目录,在main程序中会有import ...的语句,此时要注意import后面的目录级别,在选择Java构建路径时要勾选上import指明的上级目录名。例如,连连看代码中有子目录topbar,在main程序中有import kyodai.topbar语句,那么就要勾选到&我的文档\cai\Java\连连看\&这级目录,而非源码所在的&我的文档\cai\Java\连连看\kyodai&目录。 ◎在连连看源码中,作者已经把所有源码都打包成了一个Jar,此时只需要添加该Jar包而不需要导入其他源码就可以运行了(但不能调试,因为Jar包中不含源码)。方法是创建完新项目后,选择菜单&项目/属性/Java构建路径&,点击&库&页,点击&添加外部JAR&按钮,选择源码自带的Jar包即可运行。下面介绍&从现有资源创建项目&的方法。 ◎在&创建Java项目&对话框中,点击&下一步&按钮,弹出&Java设置&对话框。 ◎在&Java设置&对话框中选择&库&页,选择&添加JAR&,若找不到随源码提供的Jar包,就选择&添加外部JAR&。一般如果Jar存放的目录正确,在&添加JAR&中是可以找到该条目的。双击出现的Jar包即可添加进去。若不需要额外的库支持,则点击&完成&。这样,用上面两种方法创建的项目就可以编译运行了。下面就介绍运行的方法。 ◎选择菜单&Run/运行&,弹出&创建、管理和运行配置&对话框。 ◎根据源码的种类在左边的列表中进行选择。我们用的两个例子都是Java应用程序,所以双击&Java应用程序&,在对话框右边可以输入运行的配置。 ◎如果新建了项目还没有运行过,那么右边的&项目&栏缺省值即为刚创建的项目。在&名称&栏中输入运行配置的名称,建议与项目名称一致(也可以不一致),不能与其他的运行配置重名。 ◎点击&Main类&栏右方的&搜索&按钮,一般只有一个main类,在弹出的对话框中双击下面那个栏目的main类即可。如果需要以其他的main方法做为程序入口,可以勾选上&Main类&栏下方的两个复选框,选择其他的入口。 ◎如果需要增加特殊的环境变量,例如有的源码可能需要添加classpath环境变量,则可以在&环境&页中添加。 ◎运行配置中的内容也会同样反映在调试配置中,运行和调试使用相同的配置。创建了一堆新项目后,包资源管理器中会有一堆乱七八糟项目,有些是你需要的,有些是早已废弃不用的,你可以删除那些不用的项目,方法是右键点击该项目,选择&删除&。这里要提醒读者一下的是,删除对话框有两个选项,问你是否删除该项目目录下的内容,缺省是&不删除内容&,如果选择删除,那么那个目录就整个被删除掉了,如果你这个目录下的东西还有用,那你只好哭了。 删除掉没用的项目后,运行/调试对话框中多余的配置也可以删除,方法是右键点击不用的配置名,选择删除。好了,这是我初学Eclipse的一些心得,希望能对广大想要使用Eclipse又担心它烦琐的初学者有些帮助。&碰到java.lang.NoClassDefFoundError错误可以如下解决:应该这样检查你的环境和你的操作:1、你的文件名对吗? Java要求你的文件和你的类名严格对应的。 比如 public class HelloWorld{ ..... 那么文件名一定只能是HelloWorld.java,看仔细了!2、你的程序中有main方法吗?参数什么的对吗? main方法的声明应该是这样子的: public static void main(String[] args) 事实上如果你用开发工具来做的话,是不会错的。如果你用UltraEdit之类的来写程序的话,就一个字不要改的照抄吧!3、记住,javac后面跟的参数是文件名,但java 后面跟的是类名! 这是我开始学JAVA是犯的错,java HelloWorld.class,然后就报错。后来才弄明白,应该是java HelloWorld。4、设置了classpath了吗? 不仅是在安装JDK时要设置的内容,一般来说最好还要自己设置一个目录来存放自己的类文件的。比如d:\class目录。 设置classpath=%classpath%;d:\class 那么,现在将HelloWorld.class文件COPY到d:\class目录下,再java HelloWorld应该就OK了。5、结合第3点和第4点 如果你的类是属于某一个包的,比如这样一个类sony.test.HelloWorld,那么按照我在第4点中说的目录来说,就应该将HelloWorld.class文件存放到d:\class\sony\test\目录下。 执行的时候应该参考第3点中说的,按类名执行:java sony.test.HelloWorld。明白了吗?一直我也想不出还会有什么理由造成这个出错信息了!如果有哪位兄弟想到了就补充一下吧! 其实如果你使用了一些比较好的编程工具的话,根本就没有机会碰到这个错误的,至少我在使用了VisualAge for Java之后,就没有这样的事情了。好啦,不说了,祝同志们好运吧! 过了这第一道门,后面的就比较简单啦!}

我要回帖

更多关于 eclipse写java程序 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信