2005年12月28日

在Eclipse中,我们可以采用Junit插件进行调试,那么Junit的执行及加载顺序是什么呢?下面我们通过实际的代码来分析一下。

首先展示的是一个类,功能是判断字符串是否为空,代码如下

package com.yourdomian.test;

public class TestClass{

 public void myJunit(){
  System.out.println("in TestClass’s myJunit");
  
 }

}

下面是Junit的测试类

package com.yourdomian.test;

import junit.framework.Assert;
import junit.framework.TestCase;

public class TestClassTest extends TestCase {

 /*
  * @see TestCase#setUp()
  */
 protected void setUp() throws Exception {
  super.setUp();
  //myStringUtility = new StringUtility();
  System.out.println("in Junit’s setUp");
 }

 /*
  * @see TestCase#tearDown()
  */
 protected void tearDown() throws Exception {
  super.tearDown();
  System.out.println("in Junit’s tearDown");
 }

 public void testMyJunit() {
System.out.println("in TestClassTest ’s testMyJunit");
 }

}

运行TestClassTest ,控制台结果为

in Junit’s setUp
in StringUtilityTest’s testMyJunit
in Junit’s tearDown

如果在TestClassTest 中在加入一段代码,请看下面

package com.yourdomian.test;

import junit.framework.Assert;
import junit.framework.TestCase;

public class TestClassTest extends TestCase {

 /*
  * @see TestCase#setUp()
  */
 protected void setUp() throws Exception {
  super.setUp();
  //myStringUtility = new StringUtility();
  System.out.println("in Junit’s setUp");
 }

 /*
  * @see TestCase#tearDown()
  */
 protected void tearDown() throws Exception {
  super.tearDown();
  System.out.println("in Junit’s tearDown");
 }

 public void testMyJunit() {
System.out.println("in TestClassTest ’s testMyJunit");
 }

 public void testOther() {
//这一段为新加的代码
 }

}

运行,控制台的结果为

in Junit’s setUp
in StringUtilityTest’s testMyJunit
in Junit’s tearDown
in Junit’s setUp
in Junit’s tearDown

Eclipse 运行命令行参数大全  
  包括英文版本和中文版本两种的说明, 特别需要值得一提的是那个 -nl 参数, 可以指定程序启动时所使用的语言. 例如:
eclipse -nl en_US
将启动英文语言, 这个特性在安装了国际化语言包以后特别有用, 可以方便的切换各个语言的版本. 注意 IBM WSAD v5.1 也支持这个功能.

运行 Eclipse
将 Eclipse 驱动程序安装(解压缩)到某个目录(例如,c:\eclipse)中之后,通过运行顶级安装目录中的 Eclipse 可执行文件来启动"工作台"。在 Windows 系统上,该可执行文件称为 eclipse.exe,而在 Linux 系统上称为 eclipse。注意:下列讨论描述 Windows 系统上的设置。Linux 上的设置是相似的。

如果您没有另行指定,则平台将缺省工作区目录创建为可执行文件的兄弟目录(例如 c:\eclipse\workspace)。此工作区目录用作项目的缺省内容区,还用于保存任何必需的元数据。要进行共享安装或多工作区安装,应明确指出工作区的位置而不是使用缺省值。有两种控制工作区位置的方法:使用当前工作目录或使用 -data 命令行自变量。

将工作区位置设置为在当前工作目录内
在此方案中,工作区位置将是当前工作目录中称为 workspace 的目录。

实现此目的最容易的方法可能是使用下列步骤来创建快捷方式:

导航到 Windows 资源管理器中的 eclipse.exe 并使用右键拖动来创建 eclipse.exe 的快捷方式。
编辑快捷方式的属性,以使启动位置:字段标识工作区位置的父目录(例如,c:\users\robert)。
关闭属性对话框并双击快捷方式(如果提供的目录为 c:\users\robert,则工作区位置将为 c:\users\robert\workspace)。
当然,您也可以使用命令提示符(通过将目录切换为工作区父目录然后运行 eclipse.exe)来获得同样的效果。

使用 -data 设置工作区的特定位置
要使用 -data 命令行自变量,只要将 -data your_workspace_location(例如,-data c:\users\robert\myworkspace)添加至快捷方式属性中的目标字段或显式地将它包括在命令行上。

使用 -vm 设置 java VM
建议显式指定在运行 Eclipse 时要使用哪个 Java VM。使用 -vm 命令行自变量(例如,-vm c:\jre\bin\javaw.exe)可以实现此目的。如果不使用 -vm,则 Eclipse 将使用在 O/S 路径上找到的一个 Java VM。当安装其它产品时,它们可更改您的路径,导致在下一次启动 Eclipse 时使用另一 Java VM。

运行 Eclipse 中的高级主题
Eclipse 可执行文件及平台本身提供了人们感兴趣的开发或调试 Eclipse 各部件的许多执行选项。运行 Eclipse 可执行文件的一般格式是:

eclipse [platform options] [-vmargs [Java VM arguments]]
Eclipse 启动参数  命令 描述  原因
-arch architecture
定义 Eclipse 平台在其上运行的处理器体系结构。Eclipse 平台通常使用 Java os.arch 属性的常用值来计算最佳设置。如果在此处指定该项,则这是 Eclipse 平台使用的值。此处指定的值可作为 BootLoader.getOSArch() 用于插件。示例值有:"x86"、"sparc"、"PA-RISC"和"ppc"。 2.0
-application applicationId
要运行的应用程序。应用程序由向 org.eclipse.core.runtime.applications 扩展点提供扩展的插件来声明。通常不需要此自变量。如果指定了此项,则该值会覆盖配置提供的值。如果不指定此项,则会运行"Eclipse 工作台"。 1.0
-boot bootJarURL
(建议不使用;用 -configuration 代替;支持 1.0 兼容)。Eclipse 平台的引导插件代码(boot.jar)的位置,表示为 URL。如果指定此项,则会用它来为装入 Eclipse 平台引导程序类装入器的类装入器设置类路径。仅当更改 startup.jar 和 boot.jar 的相对位置时才需要它。注意,不允许使用相对 URL。  *1.0
-classloaderproperties [file]
如果指定的话,则使用给定位置处的类装入器属性文件来激活平台类类装入器增强。文件自变量可以是文件路径或 URL。注意,不允许使用相对 URL。单击此处以获得更多详细信息。 2.0.2
-configuration configurationFileURL
Eclipse 平台配置文件的位置,表示为 URL。配置文件确定 Eclipse 平台、可用插件集和主要功能部件的位置。注意,不允许使用相对 URL。当安装或更新 Eclipse 平台时配置文件被写至此位置。  2.0
-consolelog
将 Eclipse 平台的错误日志镜像到用来运行 Eclipse 的控制台。与 -debug 组合时很方便使用。 1.0
-data workspacePath
要运行 Eclipse 平台的工作区的路径。工作区位置也是项目的缺省位置。相对于从中启动 eclipse 的目录来解释相对路径。 1.0
-debug [optionsFile]
将平台置于调试方式,并从给定位置处的文件装入调试选项(如果指定的话)。此文件指示哪些调试点可用于插件以及是否已启用它们。如果未给出文件位置,则平台在启动 eclipse 的目录中查找称为".options"的文件。URL 和文件系统路径都可作为文件位置。 1.0
-dev [classpathEntries]
将平台置于开发方式。将可选类路径条目(用逗号分隔的列表)添加至每个插件的运行时类路径。例如,当工作区包含要开发的插件时,指定 -dev bin 会为每个插件项目的名为 bin 的目录添加类路径条目,允许在其中存储最新生成的类文件。除去了冗余或不存在的类路径条目。 1.0
-endsplash params
用于在 Eclipse 平台启动并运行时关闭闪屏的内部选项。此选项在闪屏处理链中不同的位置有不同的语法和语义。 2.0
-feature featureId
主要功能部件的标识。主要功能部件为 Eclipse 的已启动实例提供了产品个性,并确定使用的产品定制信息。 2.0
-keyring keyringFilePath
磁盘上授权数据库(或"密钥环"文件)的位置。此自变量必须与 -password 选项配合使用。相对于从中启动 eclipse 的目录来解释相对路径。 1.0
-nl locale
定义 Eclipse 平台在其上运行的语言环境的名称。Eclipse 平台通常自动计算最佳设置。如果在此处指定该项,则这是 Eclipse 平台使用的值。此处指定的值可作为 BootLoader.getNL() 用于插件。示例值有:"en_US"和"fr_FR_EURO"。 2.0
-nolazyregistrycacheloading
取消激活装入优化的平台插件注册表高速缓存。缺省情况下,仅当需要时才从注册表高速缓存(可用时)中装入扩展的配置元素,以减少内存占用。此选项将在启动时强制完全装入注册表高速缓存。 2.1
-noregistrycache
绕过读写内部插件注册表高速缓存文件。 2.0
-nosplash
运行平台而不显示闪屏。 1.0
-os operatingSystem
定义 Eclipse 平台在其上运行的操作系统。Eclipse 平台通常使用 Java os.name 属性的常用值来计算最佳设置。如果在此处指定该项,则这是 Eclipse 平台使用的值。此处指定的值可作为 BootLoader.getOS() 用于插件,并用于解析插件清单文件中提及的路径中 $os$ 变量的出现。示例值有:"win32"、"linux"、"hpux"、"solaris"和"aix"。 1.0
-password password
授权数据库的密码。与 -keyring 选项配合使用。 1.0
-perspective perspectiveId
启动时要在活动工作台窗口中打开的透视图。如果没有指定该参数,则将打开关闭时活动的透视图。 1.0
-plugincustomization          propertiesFile
包含插件首选项缺省设置的属性文件的位置。这些缺省设置覆盖在主要功能部件中指定的缺省设置。相对于从中启动 eclipse 的目录来解释相对路径。 2.0
-plugins pluginsFileURL
(建议不使用;用 -configuration 代替;支持 1.0 兼容)。 指定 Eclipse 平台查找插件的文件的位置,表示为 URL。该文件为属性文件格式,其中键是任意用户定义名称,值是指向 plugin.xml 文件的显式路径或指向包含插件的目录的路径的用逗号分隔的列表。注意,不允许使用相对 URL。如果指定此项,则此选项会导致创建适当的临时配置。 *1.0
-refresh
启动时执行工作区的全局刷新的选项。这将使从上次平台运行以来在文件系统中所做的任何更改一致。 1.0
-showlocation
用于在窗口标题栏中显示工作区的位置的选项。在发行版 2.0 中,此选项仅与 -data 命令行自变量一起使用。 2.0
-showsplash params
用于显示闪屏(由可执行的 Eclipse 平台启动器执行)的内部选项。此选项在闪屏处理链中不同的位置有不同的语法和语义。 2.0
-vm vmPath
要用来运行 Eclipse 平台的"Java 运行时环境"(JRE)的位置。如果不指定此项,则 JRE 位于 jre(它是 Eclipse 可执行文件的兄弟目录)。相对于从中启动 eclipse 的目录来解释相对路径。 1.0
-ws windowSystem
定义 Eclipse 平台在其上运行的 Windows 系统。Eclipse 平台通常使用 Java os.name 属性的常用值来计算最佳设置。如果在此处指定该项,则这是 Eclipse 平台使用的值。此处指定的值可作为 BootLoader.getWS() 用于插件、用于配置 SWT 以及用于解析插件清单文件中提及的路径中 $ws$ 变量的出现。示例值有:"win32"、"motif"和"gtk"。 1.0

将 -vmargs 条目后面的所有自变量(但不包括 -vmargs)作为虚拟机自变量(即,在要运行的类的前面)直接传递到所指示的 Java VM。注意:如果 Eclipse 启动在 Java vm 自变量(-vmargs)之后提供的自变量(例如,-data),则 Eclipse 将不会启动并且您将接收到"JVM 已终止。出口代码为 1"的错误。

在不同的 VM 上运行
在 J9 上运行 Eclipse
当在 J9 版本 1.5 上运行 Eclipse 时,建议使用以下 VM 选项:

eclipse.exe [eclipse arguments] -vm path_to_j9w.exe             -vmargs -ms:32 -mm:2048 -mo:32768 -moi:32768 -mca:32 -mco:128 -mx:2000000
当在 J9 版本 2.0 上运行 Eclipse 时,J9W 选择的缺省自变量应为合适的选项。但是,要覆盖 Eclipse 可执行文件以内部方式自动设置的参数,必须指定 -vmargs 不带任何参数,如下所示:

eclipse.exe [eclipse arguments] -vm path_to_j9w.exe -vmargs
有关进一步信息,参考 J9 VM 文档和帮助。

在 IBM Developer Kit, Java(TM) Technology Edition VM 上运行 Eclipse
IBM Developer Kit, Java(TM) Technology Edition 1.3 Linux 的缺省 VM 设置适合进行初期研究工作,但在进行大型开发时是不够的。对于大型开发,应修改 VM 自变量以使有更多的堆可用。例如,下列设置将允许 Java 堆增大为 256MB:

-vmargs -Xmx256M

郝萍 , IBM 中国软件实验室(CSDL BJ)成员
甘志 , IBM 中国软件实验室(CSDL BJ)SOA Design Center成员

2005 年 11 月

介绍

现在IT开发人员比以往任何时候都更加关注测试的重要性,没有经过良好测试的代码更容易出问题。在极限编程中,测试驱动开发已经被证明是一种有效提高软件质量的方法。在测试驱动的开发方式中,软件工程师在编写功能代码之前首先编写测试代码,这样能从最开始保证程序代码的正确性,并且能够在程序的每次演进时进行自动的回归测试。

单元测试是和开发人员最密切相关的测试类型。它通常由开发人员编写和执行。由于单元测试通常发生在错误产生之后不久,因此通过单元测试发现错误然后进行修正的代价通常比较小。单元测试是如此重要,以至于一些极限编程爱好者主张任何未经测试的代码都应该被自动删除。JUnit是Java开发人员进行单元测试事实上的标准。尽管现在出现了TestNG和JTiger这样功能更为完善的测试工具,JUnit仍然占据着测试工具的头把交椅。

JUnit占据市场垄断地位的一个证据是目前有很多为JUnit开发的扩展和插件。今天我们要讲述的就是一个配合JUnit使用的Eclipse插件Continuous Testing。它能够利用机器的空闲计算周期执行测试,并将其作为error显示在Problem View和编辑器的标记区。

在编写代码的空闲时间执行测试会占用一些CPU时间和其他资源。不过相对Continuous Testing提供的好处而言,我们不需要对此斤斤计较。还记得第一次使用Eclipse的增量编译吗?

我记得当时我对这个功能不屑一顾,现在我已经完全依靠增量编译来纠正我偶尔犯下的语法错误了。对于软件开发人员而言,任何能够有效缩短"编写-编译-测试-修改"循环的工具都具有重要的意义。就此而言,我相信Continuous Testing对于软件开发人员具有重要的意义。在http://www.eclipse-plugins.info/上我们可以看到Continuous Testing受到众多使用者的好评

安装Continuous Testing

在Eclipse中安装Continuous Testing的方法非常简单,类似于安装其他的plugin的方法。首先我们启动Eclipse3.1,单击菜单项Help->Software Update->Find and Install。在弹出的向导对话框中,我们选择"Search New Features to Install",在弹出的对话框中点击"New Remote Site",如图1所示。在URL中输入 http://beust.com/eclipse,点击"OK"。如图 1所示,点击"Finish",Eclipse会帮助我们增加一个用于Update的站点。熟悉 Eclipse的读者对这个过程一定不会觉得陌生。


图 1新建Update Site

添加Update Site之后,在随后出现的Install对话框中选中刚刚添加的Update Site,并且按下Finish按钮,如图 2所示。经过后续的下载和确认之后,我们就安装好了Continuous Testing了。


图 2安装Continuous Testing

在工程中启用Continuous Testing 安装了Continuous Testing之后,我们就可以在任何java工程中激活Continuous Testing了。在Package Views中单击鼠标右键并从菜单中选择Property。在随后出现的工程属性对话框中,我们可以看到配置信息有了一个新的分类Continuous Testing。选择这个分类,并在Continuous Testing Properties页面中选中"Enable Informed Testing"和"Enable Continuous Testing"。这样我们就激活了Continuous Testing。


图 3 配置Continuous Testing

在这个对话框中,我们还可以配置Continuous Testing的一些设置信息。例如寻找Test Case的策略、进行测试的优先级设置以及在测试开始之前进行过滤操作等。例如我就喜欢让Continuous Testing优先测试最近出错的测试。

Continuous Testing提供的视图

接下来,我们在一个激活了Continuous Testing的工程中新建一个如下的Test Case。可以看到,我们这个Test Case没有包含任何有用的测试。我们提供的两个测试方法一个必定会失败,而另外一个会抛出异常。通过这个例子,我们可以看到Continuous Testing为我们提供了什么。





package test;

import java.util.Arrays;

import junit.framework.TestCase;

public class DummyTest extends TestCase {
	public void testTopThreeIntsUnsorted() {
		Integer one = new Integer(1);
		Integer two = new Integer(2);
		Integer three = new Integer(3);
		Integer four = new Integer(4);
		Integer five = new Integer(5);
		Integer six = new Integer(6);

		assertEquals(Arrays.asList(new Integer[] { one, two, three }), Arrays
				.asList(new Integer[] { four, five, six }));
	}

	public void testException() throws Exception {
		throw new IllegalArgumentException();
	}
}


Continuous Testing插件在后台执行测试代码,当监测到有错误或异常发生,Continuous Testing将会通过Problem View来通知开发人员。在我们提供的测试用例中,Problem View将会如下所示:


图 4 Problem View

如果我们在Problem View当中双击某一条测试错误信息,那么Java编辑器将会打开并显示产生错误的测试方法。这和我们察看其他错误发生地点的方式非常象,不是吗?另外,如果我们在编辑器中打开了DummyTest.java,我们还可以看到新的测试错误标记出现在编辑器的左侧栏上。


图 5 编辑器上的测试错误标记

通过上面的描述我们可以看到,使用Continuous Testing的方式非常简单。Continuous Testing插件甚至没有引入任何新的视图。我们工作的方式与以往完全一样,仅有的不同是现在Eclipse在IDE中自动显示测试错误信息。

对多Project的支持

当使用JUnit进行测试时,我们通常将测试放置在一个单独的工程中。这种情况下,我们需要对工程进行一些特殊的配置。假如我们将hello工程的Test Case放置在工程hello.test中,那么当我们为hello工程起用Continuous Testing支持时,需要按照图 1配置hello工程的Continuous Testing属性。


图 6 多工程情况下配置测试

也就是说我们需要改变Continuous Testing查找Test Case的方法,使得当hello工程被修改时,Continuous Testing从工程hello.test中寻找测试用例。

除了多Project支持之外,Continuous Testing还支持其他一些高级特性例如howswap、低优先级执行、remote executeon等。感兴趣的读者朋友可以进一步对其进行研究。

小结

通过使用Continuous Testing,我们能够在修改代码的同时对代码的逻辑正确性进行检查。如果说Eclipse的增量编译功能使得我们在修改代码的同时能获得对代码语法正确性的信心,那么Continuous Testing能帮助我们获得对代码逻辑正确性的信心。这两者的结合,能够使得我们的软件编写出现更少的错误,同时,也能够最大限度的减轻我们修正错误所需的代价。

参考资料

如果经常使用Struts,并做过国际化操作的人来说,对于中文资源文件的处理应该不会感到陌生的。比如下面两个文件,一个是英文的,一个是中文的。对于英文的,一切照常;对于中文的,一般需要用JDK的native2ascii工具进行转换,

 
application_en.properties
# Resources for the Hello sample application

hello.title=A first Struts program
hello.prompt.user=Please enter a UserName
hello.page.hello=Hello
hello.page.wellocome=Wellcome to Blog of Javamxj
 
 
 
application_zh_CN.properties
# Hello实例使用的资源文件

hello.title=第一个Struts应用
hello.prompt.user=请输入用户名
hello.page.hello=你好
hello.page.wellocome=欢迎来到Javamxj的Blog
 
 
   我当前使用的Eclipse版本是3.1M6,如果使用Eclipse编辑application_zh_CN.properties文件,保存后,关闭这个文件,然后再次打开它,会发现这个文件中的中文字符都变成了????
 
  为什么会发生这种情况呢?在中文操作系统下,Eclipse中的Java类型文件的编码的默认设置是GBK,但是对Properties资源文件的编码的默认设置是ISO-8859-1。所以编辑Java文件中的中文不会出现问题,但编辑Properties资源文件中的中文会出现问题。
 
   在3.1M6版本下,我们可以直接修改Properties资源文件的默认编码了(Eclipse3.0版本好像不支持)。在Eclipse主界面下,打开 Window ->Perferences ->General ->Editors ->Context Types:
修改为GBK后,再次打开application_zh_CN.properties文件,编辑后保存,再打开时,文件中的中文字符可以正常显示了。
 
   这还不行,还必须利用native2ascii来转换一下。
native2ascii-本地码-至-ASCII 码转换器
 
将含有本地编码字符(既非 Latin1 又非 Unicode 字符)的文件转换为 Unicode 编码字符的文件。 

结构
native2ascii [options] [inputfile [outputfile]]

说明
Java 编译器和其它 Java 工具只能处理含有 Latin-1 和/或 Unicode 编码(\udddd 记号)字符的文件。native2ascii 将含有其它字符编码的文件转换成含 Latin-1 和/或 Unicode 编码字符的文件。 

若省略 outputfile,则使用标准输出设备输出。此外,如果也省略 inputfile,则使用标准输入设备输入。 


选项
-reverse 
执行相反的操作:将含 Latin-1 和/或 Unicode 编码字符的文件转换成含本地编码字符的文件: 

-encoding encoding_name 
指定转换过程使用的编码名称。缺省的编码从系统属性 file.encoding 中得到。encoding_name 字符串必须是符合要求的字符串。
 
 
比如可以这样利用native2ascii:
native2ascii -encoding gbk application_zh_CN.properties  temp.properties
  这里将根据application_zh_CN.properties输出了一个临时文件temp.properties,然后把application_zh_CN.properties中的文件内容替换为这个临时文件的内容就可以了。
 
转换后的application_zh_CN.properties 
# Hello\u5b9e\u4f8b\u4f7f\u7528\u7684\u8d44\u6e90\u6587\u4ef6
 
hello.title=\u7b2c\u4e00\u4e2aStruts\u5e94\u7528
hello.prompt.user=\u8bf7\u8f93\u5165\u7528\u6237\u540d
hello.page.hello=\u4f60\u597d
hello.page.wellocome=\u6b22\u8fce\u6765\u5230Javamxj\u7684Blog
 
 
  这样的操作对于一个或两个资源文件还行,如果多个资源文件,这样未免有些太麻烦了。你可以建立一个批处理文件(.bat);或者建立一个Ant文件,利用其包含的native2ascii任务,也可以进行批处理。

Junit下载地址:http://www.javaresearch.org/members/jross/junit/junit3.8.1.zip

测试对于保证软件开发质量有着非常重要的作用,单元测试更是必不可少,JUnit是一个非常强大的单元测试包,可以对一个/多个类的单个/多个方法测试,还可以将不同的TestCase组合成TestSuit,使测试任务自动化。Eclipse同样集成了JUnit,可以非常方便地编写TestCase。

我们创建一个Java工程,添加一个example.Hello类,首先我们给Hello类添加一个abs()方法,作用是返回绝对值:

下一步,我们准备对这个方法进行测试,确保功能正常。选中Hello.java,右键点击,选择New->JUnit Test Case:

Eclipse会询问是否添加junit.jar包,确定后新建一个HelloTest类,用来测试Hello类。

选中setUp()和tearDown(),然后点击“Next”:

选择要测试的方法,我们选中abs(int)方法,完成后在HelloTest.java中输入:

JUnit会以以下顺序执行测试:(大致的代码

try {
HelloTest test = new HelloTest(); // 建立测试类实例
test.setUp(); // 初始化测试环境
test.testAbs(); // 测试某个方法
test.tearDown(); // 清理资源
}
catch…


  setUp()是建立测试环境,这里创建一个Hello类的实例;tearDown()用于清理资源,如释放打开的文件等等。以test开头的方法被认为是测试方法,JUnit会依次执行testXxx()方法。在testAbs()方法中,我们对abs()的测试分别选择正数,负数和0,如果方法返回值与期待结果相同,则assertEquals不会产生异常。

  如果有多个testXxx方法,JUnit会创建多个XxxTest实例,每次运行一个testXxx方法,setUp()和tearDown()会在testXxx前后被调用,因此,不要在一个testA()中依赖testB()。

  直接运行Run->Run As->JUnit Test,就可以看到JUnit测试结果:

绿色表示测试通过,只要有1个测试未通过,就会显示红色并列出未通过测试的方法。可以试图改变abs()的代码,故意返回错误的结果(比如return n+1;),然后再运行JUnit就会报告错误。

  如果没有JUnit面板,选择Window->Show View->Other,打开JUnit的View:

JUnit通过单元测试,能在开发阶段就找出许多Bug,并且,多个Test Case可以组合成Test Suite,让整个测试自动完成,尤其适合于XP方法。每增加一个小的新功能或者对代码进行了小的修改,就立刻运行一遍Test Suite,确保新增和修改的代码不会破坏原有的功能,大大增强软件的可维护性,避免代码逐渐“腐烂”。

MyEclipse3.0.8的下载地址:http://www.xia8.com/SoftView/SoftView_6764.html,压缩文件中有破解文件,破解方法为:

拷贝core.jar到安装目录下的plugins\com.genuitec.eclipse.core_3.8.2\覆盖原文件,并输入
Name : FALLEN
Key  : SL6789|838-66|545454|6133571955

安装myEclipse。运行EnterpriseWorkbenchInstaller_020604.exe,先点“next”,再接受协议,再点“next”,选择好Eclipse的目录之后,再点“next”,选择myEclipse的安装目录之后,继续“next”,再“next”->"install"->“next”->"done"。到此完成myEclipse的安装了。

(原图是好的,但是在这里上传后,白色背景全部变成黑色的了,如果需要原图,请与我联系)

(呵呵,找到图片问题的原因了,CSDN在压缩图片时,对GIF的支持不好,白色背景会变成黑色,唉,技术论坛竟然经常出技术问题,汗~)

运行D:\program\eclipse\eclipse.exe,同样,也将检测到更新。同上面操作一样,先确定,然后再重新启动Eclipse

主菜单->窗口->首选项->java->已安装的jre,点添加。

主菜单->窗口->首选项->myEclipse->subscription,填写注册信息进行注册,不然就只能够用30天。

配置Tomcat

下面开始新建个webapp项目来试试。主菜单->文件->新建->项目->j2ee->  

开始进行发布设置。

启动web服务器。

查看运行结果。

eclispe想必大家都很熟悉了,一般来说,eclipse插件都是安装在plugins目录下。不过这样一来,当安装了许多插件之后,eclipse变的很大,最主要的是不便于更新和管理众多插件。用links方式安装eclipse插件,可以解决这个问题。

   当前配置XP SP1,eclipse3.0.1

   现在假设我的eclipse安装目录是D:\eclipse,待安装插件目录是D:\plug-in ,我将要安装LanguagePackFeature(语言包)、emf-sdo-xsd-SDK、GEF-SDK、Lomboz这四个插件。

   先把这四个插件程序全部放在D:\plug-in目录里,分别解压。如Lomboz3.0.1.zip解压成Lomboz3.0.1目录,这个目录包含一个plugins目录,要先在Lomboz3.0.1目录中新建一个子目录eclipse,然后把plugins目录移动到刚建立的eclipse目录中,即目录结构要是这样的:D:\plug-in\Lomboz3.0.1\eclipse\plugins 

   Eclipse 将会到指定的目录下去查找 eclipse\features 目录和eclipse\plugins 目录,看是否有合法的功能部件和(或)插件。也就是说,目标目录必须包含一个 \eclipse 目录。如果找到,附加的功能部件和插件在运行期配置是将是可用的,如果链接文件是在工作区创建之后添加的,附加的功能部件和插件会作为新的配置变更来处理。

    其它压缩文件解压后若已经包含eclipse\plugins目录,则不需要建立eclipse目录。

    然后在 eclipse安装目录D:\eclipse目录中建立一个子目录links,在links目录中建立一个link文件,比如 LanguagePackFeature.link,改文件内容为  path=D:/plug-in/LanguagePackFeature  即这个link文件要对应一个刚解压后的插件目录。

说明:

 1. 插件可以分别安装在多个自定义的目录中。

 2. 一个自定义目录可以安装多个插件。

 3. link文件的文件名及扩展名可以取任意名称,比如ddd.txt,myplugin都可以。

 4. link文件中path=插件目录的path路径分隔要用\\或是/

 5. 在links目录也可以有多个link文件,每个link文件中的path参数都将生效。

 6. 插件目录可以使用相对路径。

   7. 可以在links目录中建立一个子目录,转移暂时不用的插件到此子目录中,加快eclipse启动。 

   8.  如果安装后看不到插件,把eclipse 目录下的configuration目录删除,重启即可。

1  Eclipse下载
EMF,GEF – Graphical Editor Framework,UML2,VE – Visual Editor都在这里下载
http://www.eclipse.org/downloads/index.php

2  lomboz J2EE插件,开发JSP,EJB
http://forge.objectweb.org/projects/lomboz

3  MyEclipse J2EE开发插件,支持SERVLET/JSP/EJB/数据库操纵等
http://www.myeclipseide.com

4  Properties Editor  编辑java的属性文件,并可以自动存盘为Unicode格式
http://propedit.sourceforge.jp/index_en.html

5  Colorer Take  为上百种类型的文件按语法着色
http://colorer.sourceforge.net/

6  XMLBuddy 编辑xml文件
http://www.xmlbuddy.com

7  Code Folding  加入多种代码折叠功能(比eclipse自带的更多)
http://www.coffee-bytes.com/servlet/PlatformSupport

8  Easy Explorer  从eclipse中访问选定文件、目录所在的文件夹
http://easystruts.sourceforge.net/

9  Fat Jar 打包插件,可以方便的完成各种打包任务,可以包含外部的包等
http://fjep.sourceforge.net/

10  RegEx Test 测试正则表达式
http://brosinski.com/stephan/archives/000028.php

11  JasperAssistant 报表插件(要钱的哦~)
http://www.jasperassistant.com/

12  Jigloo GUI Builder JAVA的GUI编辑插件
http://cloudgarden.com/jigloo/

13  Profiler 性能跟踪、测量工具,能跟踪、测量B/S程序
http://sourceforge.net/projects/eclipsecolorer/

14  AdvanQas 提供对if/else等条件语句的提示和快捷帮助(自动更改结构等)
http://eclipsecolorer.sourceforge.net/advanqas/index.html

15  Log4E Log4j插件,提供各种和Log4j相关的任务,如为方法、类添加一个logger等
http://log4e.jayefem.de/index.php/Main_Page

16  VSSPlugin VSS插件
http://sourceforge.net/projects/vssplugin

17  Implementors 提供跳转到一个方法的实现类,而不是接中的功能(实用!)
http://eclipse-tools.sourceforge.net/implementors/

18  Call Hierarchy 显示一个方法的调用层次(被哪些方法调,调了哪些方法)
http://eclipse-tools.sourceforge.net/call-hierarchy/index.html

19  EclipseTidy 检查和格式化HTML/XML文件
http://eclipsetidy.sourceforge.net/

20  Checkclipse 检查代码的风格、写法是否符合规范
http://www.mvmsoft.de/content/plugins/checkclipse/checkclipse.htm

21  Hibernate Synchronizer Hibernate插件,自动映射等
http://www.binamics.com/hibernatesync/

22  VeloEclipse  Velocity插件
http://propsorter.sourceforge.net/ 
 
23  EditorList 方便的列出所有打开的Editor
http://editorlist.sourceforge.net/ 
 
24  MemoryManager 内存占用率的监视
http://cloudgarden.com/memorymanager/ 
 
25  swt-designer java的GUI插件
http://www.swt-designer.com/
 
26  TomcatPlugin 支持Tomcat插件
http://www.sysdeo.com/eclipse/tomcatPlugin.html
 
27  XML Viewer
http://tabaquismo.freehosting.net/ignacio/eclipse/xmlview/index.html
 
28  quantum 数据库插件
http://quantum.sourceforge.net/
 
29  Dbedit 数据库插件
http://sourceforge.net/projects/dbedit
 
30  clay.core 可视化的数据库插件
http://www.azzurri.jp/en/software/index.jsp
http://www.azzurri.jp/eclipse/plugins
 
31  hiberclipse hibernate插件
http://hiberclipse.sourceforge.net
http://www.binamics.com/hibernatesync
 
32  struts-console Struts插件
http://www.jamesholmes.com/struts/console/
 
33  easystruts Struts插件
http://easystruts.sourceforge.net 
 
34  veloedit Velocity插件
http://veloedit.sourceforge.net/
 
35  jalopy 代码整理插件
http://jalopy.sourceforge.net/
 
36  JDepend 包关系分析
http://andrei.gmxhome.de/jdepend4eclipse/links.html
 
37  Spring IDE Spring插件
http://springide-eclip.sourceforge.net/updatesite/
 
38  doclipse 可以产生xdoclet 的代码提示
http://beust.com/doclipse/

MyEclipse3.0.8的下载地址:http://www.xia8.com/SoftView/SoftView_6764.html,压缩文件中有破解文件,破解方法为:

拷贝core.jar到安装目录下的plugins\com.genuitec.eclipse.core_3.8.2\覆盖原文件,并输入
Name : FALLEN
Key  : SL6789|838-66|545454|6133571955

安装MyEclipse后,会发现在Eclipse的首选项中将会发现多了MyEclipse选项。在Application Server中,选定你采用的服务器类型,在这里,我选中Tomcat 4,并将Tomcat的安装路径(右侧)选中,接着,将Tomcat Server置为Enable状态。

新建一个Web Project,输入自己的项目名称以及准备采用的J2EE标准版本。

可以看到,在浏览器中,Eclipse所体现出来的项目体系结构与WSAD是非常类似的,习惯上,在scr目录中放置java后台源代码,而在WebRoot中放置页面设计文件。

下面,我要做的只是将这个建立好的web工程与服务器连接起来。这里有一个小而关键的细节,在安装Tomcat中,你所选择(或者是系统所替你选择的JRE也许和Web项目本身不一样,Web项目的JRE环境可以在右键单击项目名称->Properties->java Build Path中看到),所以在window->Preferences->MyEclipse->Tomcat 4的展开节点的JDK上,你需要为自己的连接新建一个server name,如图,笔者add… 了一个Tomcat 4,并为其指定了Tomcat在安装时所对应的JRE环境路径,而不是Eclipse项目自身对应的JRE

到了这里,我们所做的工作就基本完成了,点击工具栏上的部署(红色)按钮,在弹出对话框中选择自己的项目,并安(黄色)的添加按钮来添加一个服务器实例,在弹出的部署服务器上选择Tomcat,选择Exploed Archive后,IDE会为你提供热编译的一致性。

最后完成关联后,不要忘记启动Tomcat服务器哟。在浏览器中输入自己的地址,就可以看看效果了,如http://localhost:8080/hyweb/MyJsp.jsp, 当然,还要注意自己的服务器端口设置了。

Eclipse基础--安装eclipse及语言包
这里主要介绍当前最新的eclipse3.0.1版本及其语言包的下载与安装。

一.下载eclipse和其语言包

eclipse需要是3.0.1版本的,不要是3.0版本的,因为它和语言包不匹配。可以从eclipse的官方网站选择一个镜像站点http://www.eclipse.org/downloads/index.php下载,下面我发现下载速度比较快的站点。

eclipse

http://mirror.tiscali.dk/eclipse/downloads/drops/R-3.0.1-200409161125/eclipse-SDK-3.0.1-win32.zip

ftp://mirror.tiscali.dk/R-3.0.1-200409161125/eclipse-SDK-3.0.1-win32.zip

ftp://sunsite.informatik.rwth-aachen.de/pub/mirror/eclipse/R-3.0.1-200409161125/eclipse-SDK-3.0.1-win32.zip

http://sunsite.informatik.rwth-aachen.de/eclipse/downloads/drops/R-3.0.1-200409161125/eclipse-SDK-3.0.1-win32.zip

ftp://eclipse.openwebeng.com/R-3.0.1-200409161125/eclipse-SDK-3.0.1-win32.zip

http://eclipse.openwebeng.com/downloads/drops/R-3.0.1-200409161125/eclipse-SDK-3.0.1-win32.zip



语言包
http://sunsite.informatik.rwth-aachen.de/eclipse/downloads/drops/L-3.0.1_Translations-200409161125/NLpack-eclipse-SDK-3.0.x-win32.zip

http://eclipse.cis.sinica.edu.tw/downloads/drops/L-3.0.1_Translations-200409161125/NLpack-eclipse-SDK-3.0.x-win32.zip

http://eclipse.openwebeng.com/downloads/drops/L-3.0.1_Translations-200409161125/NLpack-eclipse-SDK-3.0.x-win32.zip


二.安装eclipse和其语言包

环境要求:Java(TM) 2 SDK,建议使用使用比较新的版本,如1.4.2版本(我的计算机的环境是 Windows XP SP1,Java(TM) 2 SDK v1.4.2_04)。

首先解压Eclipse3.0.1到一个目录(这里我解压到I:\eclipse),然后把语言包NLpack-eclipse-SDK-3.0.x-win32.zip也解压到I:\eclipse目录。然后双击此目录中的eclipse.exe文件即可打开eclipe。效果如下:


注意:
最好使用一个从未被启动过的Eclipse3.0.1,这样可以完全中文化。
如果在安装中文包时Eclipse已经被使用过,则可能会出现有部分内容不能被汉化,比如“搜索”、“运行”等菜单。如果中文化的不完全,把eclipse 目录下的configuration目录删除,重启即可。
也可以采用links方式安装这个语言包,可以参考

http://blog.csdn.net/baggio785/archive/2005/09/22/487396.aspx


对于e文不好的人或者初学者来说,中文版本的eclipse可以显著提高学习效率,便于接受和使用eclipse。但是,毕竟当前先进的技术是英文一统天下,所以,在对eclipse有了初步的认识之后,还是建议大家多使用英文版的eclipse,这样,对以后的进一步学习和使用有好处。
在我即将发表的一些有关eclipse的文章,主要还是使用中文版的eclipse,这样便于新手容易接受,但以后我会逐步向英文版的eclipse靠拢。