IBM®
跳转到主要内容
    中国 [选择]    使用条款
 
 
Select a scope:Search for:    
    首页    产品    服务与解决方案     支持与下载    个性化服务    
跳转到主要内容

developerWorks 中国  >  Open source  >

使用 Eclipse 让您最大限度地获得 OS X Java 开发体验

在 OS X 上快速轻松地构建 Java 和其他应用程序,感谢 Eclipse

developerWorks
文档选项

未显示需要 JavaScript 的文档选项


级别: 中级

John Fronckowiak (john@idcc.net), 总裁, IDC Consulting Inc.

2007 年 9 月 03 日

Mac OS X 是用于 Java™ 开发的强大平台。虽然 Java 开发环境已完全集成到 Mac OS X 中,但是 Eclipse 集成开发环境 (IDE) 将把完整的集成 Java 开发环境引入 Mac OS X 中,提供了一致的跨平台体验。了解如何使用此环境把现有的 Xcode 项目导入 Eclipse,如何修改键绑定,以及如何将 Eclipse 与 Mac OS X 附带的并发版本系统(Concurrent Versions System,CVS)集成在一起。

不管您是从事跨平台 Java 项目的 Mac OS X Java 开发人员,还是因基于 UNIX® 内核转而使用 Mac OS X 的 Linux® 开发人员,还是期望开发针对 Mac OS X 的应用程序的一般 Java 开发人员,都需要考虑 Eclipse IDE,因为它将针对这些开发需求逐个提供解决方案。虽然 Mac OS X 提供了 Xcode 作为其主要 Java 开发 IDE,但是 Eclipse 将提供更健壮的跨平台开发环境,提供报表、数据库访问、通信、图形等应用程序框架,以及构建应用程序的富客户机平台框架。

如果您在 Linux 上使用过 Eclipse,则在 Mac OS X 使用 Eclipse 将是小事一桩。安装十分简单。转到 Eclipse 下载页面(请参阅 参考资料)并下载 Eclipse IDE for Java Developers 的 Mac OS X 版本。下载用 gzip 压缩的 .tar 文件,必须将该文件释放到名为 Eclipse 的文件夹中。使用 Finder,将此文件夹拖动到 Applications 文件夹中。要启动 Eclipse,只需双击 Eclipse 应用程序。

如果您在其他平台上使用过 Eclipse,您将会看到熟悉的窗口。如果将 Xcode(Mac OS X 附带的开发 IDE)用于开发,则项目通常会被保存到主目录中。使用 Eclipse,将在 Documents 目录中自动创建工作区,并且在默认情况下,所有项目都将被保存到此位置。

导入现有 Xcode 项目

假定您在 Xcode 中创建的 Java 项目需要移植到 Eclipse 中。幸运的是,将现有应用程序移植到 Eclipse 中十分轻松。要将现有应用程序移植到 Eclipse 中,请执行以下步骤:

  1. 在 Eclipse 中,创建一个新的 Java 项目。
  2. File 菜单中,选择 New Project
  3. New Project 窗口中,选择 Java Project 向导(图 1)。单击 Next

    图 1. 选择 Java Project 向导
    Java Project 向导

  4. 给您的新项目命名,然后选择 Create project from existing source,如下所示:

    图 2. 通过现有源文件创建 Java 项目
    通过现有源文件创建 Java 项目

  5. 单击 Browse 定位现有项目所在的目录,通常是 Home 目录中的某个位置。
  6. 单击 Finish 或单击 Next 继续配置新项目。默认情况下,Eclipse 将自动编译项目目录中的所有 .java 文件。
  7. 要确保编译,请选择 Project > Build Automatically。当 Eclipse 编译应用程序时,任何错误或者问题都将显示在 Eclipse IDE 窗口底部的 Problems 视图中,如图 3 所示。如果没有显示 Problems 选项卡,请选择 Window > Show View > Problems

    图 3. Eclipse 工作区
    Eclipse 工作区

    注:如果使用现有 Xcode 应用程序模板创建了应用程序,那么您可能会看到几个警告。在本例中,图 3 中导入的项目是基于 Xcode Swing 模板项目的,因此有几个警告指示类未声明 static final serialVersionUID,它仅在需要序列化这些类时才十分重要。您可能会发现这些警告十分讨厌,但是这是有一种很简单的方法可以将它们从 Problems 视图中删除。

  8. 选择 Eclipse > Preferences 将显示 Preferences 窗口。
  9. 在左侧窗格中,展开 Java,再展开 Compiler,然后单击 Errors/Warnings
  10. 在右侧窗格中,展开 Potential programming problems,如下所示:

    图 4. 将警告从 Problems 视图中删除
    删除警告

  11. Serializable class without serialVersionUID 选项从 Warning 更改为 Ignore
  12. 单击 OK 保存您的新首选项。系统将提示您重新构建应用程序。完成后,这些警告将被从 Problems 视图中删除。

如果构建的是使用菜单的基于 Swing 的应用程序,那么当您运行应用程序时,菜单将作为应用程序窗口的一部分显示,而不是像典型的 Mac OS X 应用程序一样显示在屏幕的顶部。默认情况下,Xcode 将向虚拟机中添加实参以确保显示屏幕菜单的顶部。但是,使用 Eclipse 时,必须手动添加此实参。当您选择 Run > Run menu 时,将显示 Run 窗口。单击 Arguments 选项卡,如下所示:


图 5. Run 窗口
Run 窗口

VM arguments 框中,键入 -Dapple.laf.useScreenMenuBar=true。现在,Swing 应用程序菜单将显示在窗口的顶部,而不是显示在应用程序窗口中,看上去就像一个普通的 Mac OS X 应用程序。如果您的 Java 应用程序是基于 Standard Widget Toolkit (SWT) 的,则不需要使用此实参。





回页首


修改键绑定

如果您是一名有经验的 Mac 用户,则可能会发现 Eclipse 使用的一些 Ctrl+key 组合不是您所期望(或需要)的。例如,如果您是经常使用 Xcode 或 TextEdit 的用户,则会发现 Find Next 和 Find Previous 的快捷键被分别映射为 Command+KCommand+Shift+K,而不是您所熟悉的 Command+GCommand+Shift+G。幸运的是,Eclipse 提供的机制可以编辑键绑定 —— 用于完成特定任务的 Ctrl+key 组合键 —— 使其符合您的使用习惯。要修改键绑定,请选择 Eclipse > Preferences 以显示 Preferences 窗口。在左侧窗格中,展开 General,再展开 Editors,然后单击 Keys 以显示 View,如下所示:


图 6. 修改键绑定
修改键绑定

要修改某个功能的键绑定,请从列表中选择命令(例如,Find Next)。单击 Edit 以显示 Modify 选项卡,如图 7 所示。在 Name 框的 Key Sequence 下,删除当前的按键组合并简单地按住需要用于替代此功能的组合键 —— 在本例中为 Command+G。单击 Add 保存新的按键组合。


图 7. 修改 Command+key 序列
修改 Command+key 序列

注:Eclipse 还将保存选定功能的初始键绑定。如果需要删除初始键绑定,请在 Command 下的 Assignments 列表中选中它,然后单击 Remove

单击 View 返回到键绑定。您可以修改文本编辑、浏览、重构、运行/调试、搜索和源代码功能的键绑定,使其符合您的使用习惯。





回页首


Mac OS X CVS 集成

如果要在 Mac OS X 上的 Eclipse 中构建复杂的应用程序,则需要利用版本控制。Eclipse 提供与 CVS 的集成,CVS 是用于跟踪不同版本的应用程序源代码的开源系统。回想一下,在内核中,Mac OS X 是基于 Berkeley Software Distribution (BSD) Linux 风格的,因此它将附带 CVS 的工作安装版本。

Apple Developer Connection Web 站点(请参阅 参考资料)提供了一篇文章,可以指导您完成在 Mac OS X 上配置 CVS 的过程,因此我在这里不会介绍该过程。相反,本文将主要介绍 CVS 命令行选项。要将 CVS 与 Eclipse 集成在一起,必须做出一些调整。

首先,必须启用计算机上的远程登录 (Remote Login) 功能。注意,启用远程登录将允许任何人使用您的用户名和密码访问您的计算机,因此这样做可能会带来的一切后果将由您自己负责。

要在 Mac OS X 上启用远程登录,请执行以下步骤:

  1. 单击 Apple 图标,然后单击 System Preferences
  2. System Preferences 窗口中,单击 Sharing 图标。
  3. 选择 Sharing 以显示 Sharing 窗口。
  4. 选中 Remote Login 复选框,如图 8 所示,然后服务将自动启动。

    图 8. 启用远程登录功能
    远程登录

  5. 关闭 Systems Preferences 窗口保存更改。

要检验 Remote Login 是否已处于启用状态,请使用 Terminal 应用程序,它将为您提供 bash shell 访问权。在命令提示符处,键入 ssh localhost。键入密码,然后退出以关闭远程登录会话。

现在可以把 Eclipse 项目添加到本地的 CVS 树中。方法如下:

  1. 在 Package View 中,右击项目文件夹,然后单击 Team > Share ProjectShare Project 窗口将显示,如下所示:

    图 9. Share Project 窗口
    Share Project

  2. Host 框中,键入 localhost。如果您按照 CVS 配置教程执行了操作,则键入存储库路径 /usr/local/cvsrep
  3. Authentication 下键入用户名和密码。
  4. 对于连接类型,选择 extssh,然后单击 Next
  5. Enter Module Name 窗口中,选择 Use project name as module name,如图 10 所示,然后单击 Next

    图 10. 给项目命名
    给项目命名

Eclipse 将连接至 CVS 服务器并创建模块。当该过程完成后,Eclipse 将确认把文件签入到存储库中。单击 Finish 以显示 Commit Wizard,它将向您提示一个日志条目。如果这是您首次签入项目文件,可以键入诸如 Project Start Check-inFirst Check-in 之类的文本。您现在可以使用 CVS 在应用程序中管理版本化。





回页首


跨平台字符编码

编辑源文件时,Eclipse 将使用操作系统的本地字符集。默认情况下,Mac OS X 上的 Eclipse 将使用 MacRoman 字符集。如果在跨平台项目中使用 Eclipse,则最好使用 UTF-8 字符编码。要将此编码指定用于项目中的所有文件,请右击 Package Explorer 视图中的项目,然后单击 Properties。在 Text file encoding 下,选择 Other,然后从列表中选择 UTF-8,如下所示:


图 11. 设定字符编码
字符编码





回页首


在 Mac OS X 上最大限度地发挥 Eclipse 的性能

最后,为了帮助在 Mac OS X 上最大限度地发挥 Eclipse 的性能,还有其他几个小事项可以去做。首先,可以指定 Java 虚拟机 (JVM) 分配的最小堆空间和最大堆空间。默认情况下,Eclipse 将为堆分配 40 MB 到 256 MB 的内存。要修改分配的内存量,必须修改 eclipse.ini 文件。要访问 eclipse.ini,请右击 Eclipse 应用程序图标,然后单击 Show Package Contents 以打开显示 Contents 文件夹的新 Finder 窗口。打开 Contents 文件夹,然后打开 MacOS 文件夹,eclipse.ini 文件就保存在此文件夹中。


图 12. 在 TextEdit 中打开的 eclipse.ini 文件
在 TextEdit 中打开的 eclipse.ini 文件

修改 -Xms 选项后的值可以更改最小堆空间,修改 -Xmx 选项后的值可以更改最大堆空间。例如,要使用 64 MB 到 512 MB 之间的堆大小,请将选项更改为 -Xms64m-Xmx256m。如果 Eclipse 已被打开,必须关闭然后重新打开 Eclipse 才能使这些新选项生效。

如果关闭自动 Content Assist 取消为部分输入的字符串提供建议完成列表的功能,那么您还可以体验到性能提高。在 Eclipse Preferences 窗口的左窗格中,展开 Java,展开 Editor,然后单击 Content Assist。然后,取消选中 Enable Auto Activation 复选框。您仍然可以通过使用 Shift+Space 组合键,手动调用 Content Assist。

禁用 Automatic Folding 在大型项目中得到性能提高。要禁用 Automatic Folding,请在 Eclipse Preferences 窗口的左侧窗格中,展开 Java,展开 Editor,然后单击 Folding,然后取消选中 Enable Folding 复选框。





回页首


结束语

分享这篇文章……

digg 将这篇文章提交到 Digg
del.icio.us 发布到 del.icio.us
Slashdot 提交到 Slashdot!

Mac OS X 为有 Linux 使用经验的开发人员提供了熟悉的开发环境。使用本文中概述的技巧,可以在 Mac 平台上最大限度地获得 Eclipse 开发体验。



参考资料

学习

获得产品和技术

讨论
  • Eclipse Platform 新闻组 应当是讨论关于 Eclipse 的问题的第一站(选择此链接将启动默认的 Usenet 新闻阅读器应用程序并打开 eclipse.platform)。

  • Eclipse 新闻组 中有很多参考资料适用于对使用和扩展 Eclipse 感兴趣的人员。

  • 参与 developerWorks blog 并加入 developerWorks 社区。



关于作者

John Fronckowiak

John Fronckowiak 是 IDC Consulting Inc. 和 Western New York Web Design, LLC 的总裁兼创办人。他还是曼达尔学院计算机信息系统的临床助理教授。他还撰写了几本关于编程、数据库设计和开发以及联网的书。




对本文的评价

太差! (1)
需提高 (2)
一般;尚可 (3)
好文章 (4)
真棒!(5)

建议?




回页首


IBM 公司保留在 developerWorks 网站上发表的内容的著作权。未经IBM公司或原始作者的书面明确许可,请勿转载。如果您希望转载,请通过 提交转载请求表单 联系我们的编辑团队。
    关于 IBM 隐私条约 联系 IBM 使用条款