首页 / 软件开发 / JAVA / 为Eclipse Galileo打补丁
为Eclipse Galileo打补丁2011-02-05 IBM Nathan A. Good本文讨论在 Eclipse 中应用补丁,包括在 Eclipse Galileo 中引入的一个功能。要利用本篇文章中的示例,您需要安装 Eclipse 并且有一个可用的源代码库,如 Subversion(SVN)或 Concurrent Versions System(CVS)。问题Eclipse 集成开发环境(IDE)通过提供一些功能来促进团队环境中的工作。这些功能使您可以直接在 IDE 中与源代码控制管理系统进行集成。它们不仅能够使您获得源代码、查看并提交更改,还提供了通过把补丁应用到代码来处理更改的能力。补丁可以以文件的形式交换,其中含有使用标准 diff 格式的代码版本之间的更改。正确创建后,补丁文件只包含修改后的文件与您的工作空间中的文件之间存在差异的地方。这不仅可以使补丁文件变得更小,而且能够更容易、更有选择地运用补丁。在团队开发环境中,有时需要直接在开发人员之间共享对代码库的更改。使用补丁文件的不同场景包括:来自团队外部的更改 — 例如,在开源代码中,更改可能来自社区的某个人。出于某些原因,更改无法提交到当前源代码树中,比如将会影响编译的重大更改。更改很复杂,而且在提交到源代码管理系统中之前需要与其他的更改进行整合。补丁文件的一个优势在于它能够作为电子邮件消息的附件或者 bug 报告进行提交。然后,可以把补丁文件应用到源代码中以整合修改后的代码。补丁格式概览在 Eclipse 中创建补丁时,补丁是以统一的 diff 格式进行编写的。这意味着您可以从 CVS 或 SVN 中创建 diff 并把它们应用到 Eclipse 项目中。它还意味着对于补丁文件,您可以依靠一个标准格式,因此,它们很容易就可以进行共享。diff 文件有几种格式。了解补丁文件的格式对于理解如何在 Eclipse 中应用它们并不是很重要,但对 Eclipse 使用的 diff 文件格式有一定的了解能够帮助您解决问题并帮助您了解应用补丁时将会发生什么。例如,请参见清单 1 中的简单 Motorcycle 类。在本文中,它是一个基准示例。您将对其进行修改,而且通过这个示例,您将了解补丁文件是如何出现在后面的示例中的。清单 1. 示例 Motorcycle 类package com.nathangood.examples;
public class Motorcycle {
private int cc;
private String model;
private String make;
private String year;
public String getModel() {
return model;
}
public int getCc() {
return cc;
}
public void setCc(int cc) {
this.cc = cc;
}
public void setModel(String model) {
this.model = model;
}
public String getMake() {
return make;
}
public void setMake(String make) {
this.make = make;
}
public String getYear() {
return year;
}
public void setYear(String year) {
this.year = year;
}
}