选择性地加载用于在Java微型设备中调试Java应用程序的远程类或资源制造技术

技术编号:2852880 阅读:281 留言:0更新日期:2012-04-11 18:40
通过选择性地将在Java微型设备中调试Java应用程序期间使用的Java类和/或Java资源文件子集从主计算机加载该设备中,从而在该Java微型设备中对Java应用程序进行调试,该子集是从主计算机中的Java类和/或Java资源文件的集合中自动选择的。因此,可以减少或消除在开始调试时就加载含所有类和/或资源的可能巨大的Java  ARchive(JAR)文件的需要。本发明专利技术还可用于从主计算机加载在设备上调试应用程序期间使用的模块。

【技术实现步骤摘要】
【国外来华专利技术】
本专利技术涉及利用Java的数据处理方法、系统和计算机程序产品,更具体地说,涉及调试Java应用程序的系统、方法和计算机程序产品。
技术介绍
Java是一种功能全面的面向对象编程语言。因此,Java程序(应用程序)通过建立彼此交互作用的软件部件的结构化集合而产生期望效果。这些部件称为对象,并且可以安排在对象类体系结构中,对象类也简称为类。Java程序不是直接在计算机的操作系统上运行,而是在Java虚拟机(JVM)上运行,该Java虚拟机本身就是在计算机操作系统上运行的程序。由于Java的面向对象特性及JVM的标准化,Java程序可提供“一旦编写,随地运行”(WORA)的能力。Java是计算机领域技术人员众所周知的,不必在本文中进一步描述。由于Java的使用扩展了,它已经延伸至更大和更小规模的平台。因此,Java现在扩展到超出用于服务器和个人计算机的Java2平台标准版(J2SE),扩展到了Java2平台企业版(J2EE),这是一个用于开发、建立和部署企业应用程序的平台无关的以Java为中心的环境,以及扩展到了Java2平台微型版(J2ME),它允许开发者使用Java来建立用于无线、移动以及诸如个人数字助理、机顶盒、嵌入设备以及移动电话等消费设备的应用程序。在J2ME中,JVM经常被称为千字节虚拟机(KVM),以指示其尺寸小。J2ME移动信息设备简表(MIDP)允许开发者为J2ME设备编写可下载应用程序和服务。这些应用程序和服务常常称为MIDlet。J2ME的设计和操作在例如Sun Microsystems公司于2002发布的题为“Java 2 Platform,Micro Edition”的数据表中进行了概括。此外,可以理解,在本文中所用的术语“J2ME”用于表示利用Java微型版(Micro Edition)的任何存储受限设备。许多供应商提供Java集成开发环境(IDE),作为软件开发者软件包(SDK)的一部分或者与之联合。IDE也可以与SDK分开提供。如附图说明图1所示,IDE110可在主计算机上运行,主计算机在本文中也简单地称为主机120,主机120可包括个人计算机或工作站,并且与仿真器130接口。IDE110还可以与其中包括KVM150和一个或多个应用程序(MIDlet)160的实际J2ME设备140接口。主机120和J2ME设备140之间的连接170可以是有线和/或无线的。IDE110和仿真器130之间的接口112称为统一仿真器接口(UEI)。可以通过有线和/或无线连接170在J2ME设备140上的KVM150和IDE110之间提供接口。如本领域技术人员众所周知的,在设计应用程序(MIDlet)160时,可能希望在设计阶段期间和/或之后对应用程序进行调试。许多调试技术都是本领域技术人员熟知的,因此不必在本文中描述。事实上,IDE110通常提供利用仿真器130对应用程序的源级调试。遗憾的是,为了成功地调试一个应用程序160,可能需要为要编写的用于各J2ME设备140的应用程序160提供一个新的仿真器130。此外,可能希望在J2ME设备140本身中的KVM150上调试应用程序160。但是,KVM150的有限尺寸可能使将调试程序加载到J2ME设备中非常费时。此外,KVM150的有限尺寸在一些情况下可使在J2ME设备140上运行调试程序不可能。开发者还知道要将所选文件打包以便在J2ME设备140上加载。专利技术概述本专利技术的实施例可通过选择性地将在J2ME设备中调试Java应用程序期间使用的Java类和/或Java资源文件子集从主计算机加载到J2ME设备中,以便在该J2ME设备中对Java应用程序进行调试,所述子集是从主计算机中的Java类和/或Java源文件的集合中自动选择的。因此,可以减少或消除在开始调试时就加载包含J2ME类和/或资源的整个集合的可能巨大的Java ARchive(JAR)文件的需要。事实上,在本专利技术的一些实施例中,仅仅在调试Java应用程序期间使用的那些类/源可以自动地从主计算机加载到J2ME设备中。在一些动态实施例中,在调试所述应用程序期间引用Java类和/或Java资源文件时将它们从主计算机加载到J2ME设备中。在特定实施例中,在J2ME设备上安装JAR文件,并且一些实施例中,在J2ME设备上安装空的JAR文件。Java应用程序在J2ME设备中进行调试,直到Java类和/或Java资源文件被引用。从主计算机请求Java类和/或Java资源文件,并将其加载到KVM中。然后,利用加载到KVM中的Java类和/或Java资源文件在J2ME设备中继续调试Java应用程序。在调试期间引用新的Java类和/或新的Java资源文件时,可以依次重复执行请求Java类和/或Java资源文件,加载所请求的类和/或资源文件并继续调试的操作。在其它静态实施例中,自动地在主计算机确定调试期间使用的所述Java类和/或Java资源文件子集,并自动地将该子集从主计算机加载到J2ME设备中。更具体地说,在一些实施例中,获得调试Java应用程序的入口点类。递归地确定在调试期间从入口点类引用的其它Java类和/或Java资源文件。预先安装的类/源列表用于排除在J2ME设备中预先安装的那些另外的Java类和/或Java资源文件。然后,在J2ME设备上安装JAR文件,并且将除了J2ME设备中预先安装的另外的Java类和/或Java资源文件之外的入口点类和递归确定的另外的Java和/或Java资源文件加载到KVM中。在其它混合实施例中,可以组合如上所述的动态实施例和静态实施例的各方面。例如,在主计算机自动地确定调试期间使用的所述Java类和/或Java资源文件子集中的一些,并且将其从主计算机加载到J2ME设备中,如以上所述。然后,在调试Java应用程序期间,如果引用的是没有加载到KVM中的Java类和/或Java资源文件,则将引用的Java类和/或Java资源文件从主计算机加载到J2ME设备中。还可以提供其它混合实施例。在本专利技术的其它实施例中,在调试Java应用程序期间使用的所述Java类和/或Java资源文件子集在J2ME设备处于开发模式时自动地从主计算机加载到J2ME设备中。相反,在部署模式下,使用预先安装在J2ME设备中的Java类和/或资源文件。以上主要就方法方面描述了本专利技术的实施例。但应理解,本专利技术的实施例还可以提供用于在J2ME设备中调试Java应用程序的系统和/或计算机程序产品,以及还可提供用于J2ME设备的IDE以及J2ME设备本身。此外,尽管已就J2ME设备中的MIDlet调试对本专利技术的实施例进行了描述,但本专利技术的实施例还可以应用于在任何Java设备,即运行Java的任何设备中调试Java应用程序。最后,本专利技术的其它实施例可用于调试在设备中运行的任何应用程序,无论该应用程序是Java应用程序、另一种面向对象编程的应用程序或常规的功能应用程序。设备可以是Java设备、利用非Java的面向对象编程系统操作的设备或利用常规功能编程的设备。因此,本专利技术的实施例可用于使用其它编程语言的代码模块(如对象、库、子程序、类等)的设备外加载,其它编程语言例如为在普遍的、个人的、应用和/或企业设备上运行的本文档来自技高网...

【技术保护点】
一种方法,用于在Java2微型版(J2ME)设备中对Java应用程序进行调试,包括:    选择性地将在所述J2ME设备中调试所述Java应用程序期间使用的Java类和/或Java资源文件子集从主计算机加载到所述J2ME设备中,所述子集是从所述主计算机中的Java类和/或Java源文件的集合中自动选择的。

【技术特征摘要】
【国外来华专利技术】US 2003-4-29 10/424,5661.一种方法,用于在Java 2微型版(J2ME)设备中对Java应用程序进行调试,包括选择性地将在所述J2ME设备中调试所述Java应用程序期间使用的Java类和/或Java资源文件子集从主计算机加载到所述J2ME设备中,所述子集是从所述主计算机中的Java类和/或Java源文件的集合中自动选择的。2.如权利要求1所述的方法,其中所述选择性地加载包括在调试所述Java应用程序期间引用Java类和/或Java资源文件时,将它们从所述主计算机加载到所述J2ME设备中。3.如权利要求1所述的方法,其中所述选择性地加载包括在所述主计算机确定在调试所述Java应用程序期间使用的所述Java类和/或所述Java资源文件子集;以及从所述主计算机加载所确定的所述Java类和/或所述Java资源文件的子集到所述J2ME设备中。4.如权利要求2所述的方法,其中在调试所述应用程序期间引用Java类和/或Java资源文件时,将它们从所述主计算机加载到所述J2ME设备中还包括在所述J2ME设备上安装Java ARchive(JAR)文件;在所述J2ME设备中调试所述Java应用程序直到Java类和/或Java资源文件被引用;从所述主计算机请求所述Java类和/或所述Java资源文件;将从所述主计算机请求的所述Java类和/或所述Java资源文件加载到所述J2ME设备中;以及利用加载到所述J2ME设备中的所述Java类和/或所述Java资源文件继续在所述J2ME设备中调试所述Java应用程序。5.如权利要求4所述的方法,其中所述安装包括在所述J2ME设备上安装空的JAR文件。6.如权利要求4所述的方法,其中依次重复执行所述在所述J2ME设备中调试所述Java应用程序直到Java类和/或Java资源文件被引用;所述从所述主计算机请求所述Java类和/或所述Java资源文件;所述将从所述主计算机请求的所述Java类和/或所述Java资源文件加载到所述J2ME设备中;以及所述利用加载到所述J2ME设备中的所述Java类和/或所述Java资源文件继续在所述J2ME设备中调试所述Java应用程序。7.如权利要求3所述的方法,其中所述确定包括获得用于调试所述Java应用程序的入口点类;以及递归地确定所述调试Java应用程序期间从所述入口点类引用的另外的Java类和/或资源文件,同时排除预先安装在所述J2ME设备中的另外的Java类和/或资源文件。8.如权利要求7所述的方法,其中所述从所述主计算机将确定的所述Java类和/或Java资源文件子集加载到所述J2ME设备中包括在所述J2ME设备上安装Java ARchive(JAR)文件;以及将除了预先安装在所述J2ME设备中的另外的Java类和/或Java资源文件以外的所述入口点类和递归确定的另外的Java类和/或Java资源文件加载到所述J2ME设备中。9.如权利要求3所述的方法,其中所述确定包括在所述主计算机处的仿真器上调试所述Java应用程序;以及基于所述在所述主计算机处的仿真器上调试所述Java应用程序,在所述主计算机确定将在调试所述Java应用程序期间使用的所述Java类和/或Java资源文件子集。10.如权利要求3所述的方法,其中所述选择性地加载还包括在调试所述Java应用程序期间引用Java类和/或Java资源文件时,将它们从所述主计算机加载到所述J2ME设备中。11.如权利要求1所述的方法,其中所述选择性地加载包括响应于所述J2ME设备处于开发模式,选择性地将在所述J2ME设备中调试所述Java应用程序期间使用的Java类和/或Java资源文件子集从主计算机加载到所述J2ME设备中,该子集是从所述主计算机中的Java类和/或Java源文件的集合中自动选择的。12.如权利要求11所述的方法,还包括在部署模式期间使用预先安装在所述J2ME设备上的Java类和/或Java资源文件。13.一种方法,用于在Java设备中对Java应用程序进行调试,包括选择性地将在所述Java设备中调试所述Java应用程序期间使用的Java类和/或Java资源文件子集从主计算机加载到所述Java设备中,所述子集是从所述主计算机中的Java类和/或Java源文件的集合中自动选择的。14.如权利要求13所述的方法,其中所述选择性地加载包括在调试所述Java应用程序期间引用Java类和/或Java资源文件时,将它们从所述主计算机加载到所述Java设备中。15.如权利要求13所述的方法,其中所述选择性地加载包括在所述主计算机确定将在调试所述Java应用程序期间使用的所述Java类和/或Java资源文件子集;以及从所述主计算机加载所确定的所述Java类和/或Java资源文件子集到所述Java设备中。16.如权利要求14所述的方法,其中所述在调试所述Java应用程序期间引用Java类和/或Java资源文件时,将它们从所述主计算机加载到所述Java设备中还包括在所述Java设备上安装Java ARchive(JAR)文件;在所述Java设备中调试所述Java应用程序,直到Java类和/或Java资源文件被引用;从所述主计算机请求所述Java类和/或所述Java资源文件;将从所述主计算机请求的所述Java类和/或所述Java资源文件加载到所述Java设备中;以及利用加载到所述Java设备中的所述Java类和/或所述Java资源文件继续在所述Java设备中调试所述Java应用程序。17.如权利要求15所述的方法,其中所述确定包括获得用于调试所述Java应用程序的入口点类;以及递归地确定所述调试Java应用程序期间从所述入口点类引用的另外的Java类和/或资源文件,同时排除预先安装在所述Java设备中的另外的Java类和/或资源文件。18.如权利要求15所述的方法,其中所述选择性地加载包括在调试所述应用程序期间引用Java类和/或Java资源文件时,将它们从所述主计算机加载到所述Java设备中。19.如权利要求13所述的方法,其中所述选择性地加载包括响应于所述Java设备处于开发模式,选择性地将在所述Java设备中调试所述Java应用程序期间使用的所述Java类和/或Java资源文件子集从主计算机加载到所述Java设备中,该子集是从所述主计算机中的Java类和/或Java源文件的集合中自动选择的。20.如权利要求19所述的方法,还包括在部署模式期间使用预先安装在所述Java设备上的Java类和/或Java资源文件。21.一种Java 2微型版(J2ME)设备,包括千字节虚拟机(KVM);所述KVM上运行的至少一个应用程序;以及设备外类/资源加载器,它被配置为选择性地将在所述J2ME设备中调试所述Java应用程序期间使用的Java类和/或Java资源文件子集从主计算机加载到所述J2ME设备中,所述子集是从所述主计算机中的Java类和/或Java资源文件的集合中自动选择的。22.如权利要求21所述的J2ME设备,其中所述设备外类/资源加载器还被配置为在调试所述Java应用程序期间引用Java类和/或Java资源文件时,将它们从所述主计算机加载到所述J2ME设备中。23.如权利要求21所述的J2ME设备,其中所述设备外类/资源加载器还被配置为将在所述主计算机确定的在调试所述Java应用程序期间使用的所述Java类和/或Java资源文件子集从所述主计算机加载到所述J2ME设备中。24.如权利要求22所述的J2ME设备,其中所述设备外类/资源加载器还被配置为在所述J2ME设备上安装Java ARchive(JAR)文件;在所述J2ME设备中调试所述Java应用程序直到Java类和/或Java资源文件被引用;从所述主计算机请求所述Java类和/或所述Java资源文件;将从所述主计算机请求的所述Java类和/或所述Java资源文件加载到所述J2ME设备中;以及利用加载到所述J2ME设备中的所述Java类和/或所述Java资源文件继续在所述J2ME设备中调试所述Java应用程序。25.如权利要求24所述的J2ME设备,其中所述设备外类/资源加载器还被配置为在所述J2ME设备上安装空的JAR文件。26.如权利要求21所述的J2ME设备,其中所述设备外类/资源加载器响应于所述J2ME设备的开发模式。27.如权利要求26所述的J2ME设备,还包括设备上类/资源加载器,它被配置为在部署模式期间使用预先安装在所述J2ME设备上的Java类和/或Java资源文件。28.一种系统,用于在Java 2微型版(J2ME)设备中对Java应用程序进行调试,包括主计算机;所述主计算机...

【专利技术属性】
技术研发人员:PH尼科尔斯J李J罗思
申请(专利权)人:索尼爱立信移动通讯股份有限公司
类型:发明
国别省市:SE[瑞典]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1