CN106886445A - Java数据包生成方法及设备和信息提取方法及设备 - Google Patents
Java数据包生成方法及设备和信息提取方法及设备 Download PDFInfo
- Publication number
- CN106886445A CN106886445A CN201610466727.8A CN201610466727A CN106886445A CN 106886445 A CN106886445 A CN 106886445A CN 201610466727 A CN201610466727 A CN 201610466727A CN 106886445 A CN106886445 A CN 106886445A
- Authority
- CN
- China
- Prior art keywords
- java
- packets
- code
- source code
- file
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/31—Programming languages or programming paradigms
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本申请公开了一种Java数据包生成方法及设备和信息提取方法及设备。所述Java数据包生成方法生成包含用于标识Java源代码的标识信息的文件;将所述文件存储在所述Java源代码所在的文件夹中;将所述文件和所述Java源代码进行打包以生成Java数据包。通过本申请的技术方案,能够对相同坐标的Java数据包进行区分,从而准确获取所需的源代码,因此,在对源代码监控、修改或定位等方面提供便利。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种Java数据包生成方法及设备和信息提取方法及设备。
背景技术
近年来,越来越多的公司使用编译工具(例如,maven)进行项目开发。所述编译工具根据数据包(例如,Java数据包)在服务器中的坐标来存储数据包,如此,其他开发人员开发或者使用这个项目时,只需要将所需的数据包在服务器中的坐标复制到自己的配置文件就可以自动地下载这些数据包。
在实际工作中,很多开发人员会对源代码进行修改并将修改后的源代码打包成新的Java数据包,但却仍然使用原来的数据包的坐标,这会导致其他开发人员使用相同的坐标而得到不同的源代码,使得第三方应用无法确定所需的源代码。
发明内容
提供本发明的目的在于至少解决了上述问题和/或缺点,并至少提供了以下优点。
本申请实施例提供一种Java数据包生成方法包括:生成包含用于标识Java源代码的标识信息的文件;将所述文件存储在所述Java源代码所在的文件夹中;将所述文件和所述Java源代码进行打包以生成Java数据包。
本申请实施例还提供一种Java数据包生成设备包括:生成单元,获取包含用于标识Java源代码的标识信息的文件;存储单元,将所述文件存储在所述Java源代码所在的文件夹中;打包单元,将所述文件和所述Java源代码进行打包以生成Java数据包。
本申请实施例还提供一种信息提取方法包括:确定Java数据包的坐标;根据所述坐标,获取Java数据包,其中,在所述数据包中包括用于标识Java源代码的标识信息的文件;从所述Java数据包中提取所述文件和所述Java源代码。
本申请实施例还提供一种信息提取设备包括:确定单元,确定Java数据包的坐标;获取单元,根据所述坐标,获取Java数据包,其中,在所述数据包中包括用于标识Java源代码的标识信息的文件;提取单元,从所述Java数据包中提取所述文件和所述Java源代码。
与现有技术相比,根据本发明的示例性实施例的Java数据包生成方法及设备和信息提取方法及设备通过获取对源代码进行进一步描述的信息,从而能够在没有外部监控的情况下对相同坐标的Java数据包进行区分,能够准确获取所需的源代码,因此,能够在对源代码监控、修改或定位等方面提供便利。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1示出了本发明的示例性实施例的数据处理系统的架构图;
图2示出了本发明的示例性实施例的数据处理系统的流程图;
图3示出了本发明的示例性实施例的数据处理系统实际使用过程的示图;
图4示出了本发明的示例性实施例的三种应用场景的示图;
图5示出了本发明的示例性实施例的Java数据包生成设备的框图;
图6示出了本发明的示例性实施例的信息提取设备的框图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
以下结合附图,详细说明本申请各实施例提供的技术方案。
图1示出了本发明的示例性实施例的数据处理系统的架构图。
参照图1,该示例性实施例的系统架构包括服务器200以及多个工作机101、102和103,其中,服务器200通过网络112与多个工作机101、102和103相连。需要说明的是:虽然图中仅示出三个工作机,但是,本领域技术人员能理解,在本发明的系统架构中,可根据实际需求包括更多或更少的工作机。
网络112可以包括有线网络和/或无线网络。根据示例性实施例,网络112可包括但不限于局域网(LAN)、广域网(WAN)、内部网、互联网、移动电话网络、虚拟专用网(VPN)、蜂窝式或其它移动通信网络、蓝牙、NFC或其任何组合。工作机101、102和103可以是软件开发人员所使用的终端,例如,计算机。根据示例性实施例,服务器200可以用于存储各个工作机提交的数据包(比如,Java数据包)并对这些数据包进行管理,工作机101、102和103可以定期将更新后的数据包提交到服务器200进行存储。
当需要服务器200上存储的数据包时,可以通过配置文件指定需要获取的数据包在服务器200中的坐标,然后工作机根据该坐标从服务器200上获取该坐标指向的数据包。
举例而言,编程人员在利用java语言进行编程的过程中,除本地编写好的java程序代码外,往往还需要从第三方(比如,服务器200)中获得相关的已有java程序代码,以便将两者进行编译生成可执行文件,进而加快软件开发进度。在这种情况下,便需要从存储有相关java数据包的服务器中进行下载。当从服务器下载java数据包时,可先在配置文件(例如,pom.xml)中配置java包在服务器200中的坐标(例如,所述坐标可从网站下载),随后,编程人员可以通过工作机101(或102、103)从服务器200下载与该坐标指向的Java数据包。除这种依据配置文件中的坐标下载数据包的情形下,还可能存在一种情况:工作机在本地对Java数据包进行更新后,修改该Java数据包在服务器上的坐标,然后将修改后的Java数据包按照修改后的坐标上传到服务器。
图2示出了本发明的示例性实施例的数据处理系统的流程图。
参照图2,在步骤S110,工作机300生成包含用于标识Java源代码的标识信息的文件。
具体来说,工作机300可获取用于标识Java源代码的信息(以下简称标识信息),随后,用Java语言将标识信息编程为文件。
更具体地,工作机300可通过对Java源代码所在的代码仓库信息进行分析来获取标识信息。其中,标识信息可包括源代码所在的代码仓库的版本号以及源代码所在的代码仓库的分支路径,或者标识信息可包括源代码所在的代码仓库的版本号和源代码所在的代码仓库的分支路径以及生成所述版本号和分支路径的生成时间。
举例来说,假设源代码所在的代码仓库是SVN仓库。SVN是指管理源代码的仓库系统,一般分为远程代码仓库和本地代码仓库,通过本地代码仓库把源代码下载到本地来使用,当修改仓库线上代码(让所有使用的人都能共享最新修改)时,需要将改动提交上传(其它人通过SVN命令更新自己本地的代码即可)。而源代码所在的代码仓库的版本号(即,SVN版本号)是指SVN仓库线上代码每次被修改后会产生的一个唯一的版本号,SVN版本号用于标示当前的代码,并且下载代码时可以通过版本号指定需要下载哪个时期的源代码,也可通过版本号看出已下载的源代码属于哪次改动后的。源代码所在的代码仓库的分支路径(即,SVN分支路径)则是源代码存储在本地代码仓库中的存储路径。
此外,源代码所在的代码仓库还可以是GIT仓库,GIT仓库是比SVN更强大的分布式源代码管理仓库系统。GIT在提交源代码到线上之前需要先提交到本地代码仓库,再将本地的版本推送到线上仓库。GIT版本号与SVN版本号类似,并且GIT版本号采用加密算法SHA-1生成ID(SVN版本号为自增的正整数)。由上可知,每一次SVN/GIT仓库中的源代码被修改后,会产生唯一的版本号来标识当前的源代码,因此,可通过版本号来获知源代码属于哪次改动的。因此,源代码所在的代码仓库的版本号以及源代码所在的代码仓库的分支路径可以是GIT版本号和GIT分支路径。
可选地,工作机可在获取上述版本号和分支路径的同时获取生成上述版本号以及分支路径的生成时间。
此外,标识信息中的参数可以通过多种形式来表示。在本示例性实施例中,可通过类属性(例如,静态常量)来表示所述标识信息中的参数。例如,可通过静态常量来表示标识信息中的版本号和分支路径:
其中,分支路径为http://xxxxx.SVN,版本号为“56031”。
然后,用Java语言将标识信息编程为文件(例如,MyRevision.java)。
随后,步骤S120,将所述文件存储在所述源代码所在的文件夹中。也就是说,所述文件与所述源代码均保存在本地代码仓库中的相同的代码目录下。随后,在步骤S130,将所述文件和源代码一起编译并打包,以生成Java数据包。其中,编译是指将软件从程序员写的源代码变成可被机器识别和执行的可执行程序的过程。软件工程通常需要编译大量的源代码文件,既包括自己的,也包括从服务器下载的Java包。
在步骤S140,将Java数据包上传至服务器200。
由此看来,根据本发明的示例性实施例的工作机300通过生成包含用于标识Java源代码的标识信息的文件并将所述文件与源代码一起打包生成Java数据包,能够在获取Java数据包后仅通过Java数据包本身中包含的标识信息即可对源代码进行识别,从而可以区分具有相同坐标的Java数据包中的源代码。例如,当编程人员需要在不改变配置文件中的坐标的情况下对源代码进行修改时,可通过标识信息对不同时期修改的源代码进行标识,这样其他编程人员可通过Java数据包中的标识信息来识别出所需要的源代码。
以下将详细地解释使用maven的示例性实施例。首先,在对使用maven的示例性实施例进行详细解释之前,对所涉及的术语进行详细解释以方便本领域技术人员的理解。
Maven是指java的自动化编译工具,maven可根据配置文件中的maven坐标从maven仓库自动下载Java数据包,与本地编写的java代码一起编译成可执行程序。Java包是指将源代码编译后的程序和相关文件打包成后缀名jar的文件,编译时只需要将本地源码和下载的Java包一起编译即可。Maven仓库将对外发布的Java包放置在统一的系统里进行管理,使用者在配置文件(pom.xml)中写出想要引用的Java包的maven坐标即可。
Maven坐标通过groupId,artifactId和version来定位一个Java包。用groupId和artifactId来标示Maven仓库,用version来表示这同一Maven仓库的不同版本(可理解为不同时期)。例如,可使用如下所示的代码对配置文件进行配置。
其中,groupId是com.alipay.sofa.service,artifactId是sofa-service-api,而version是3.2.8.2。
此外,maven采用插件化设计,它将工作流程切分为多个标准步骤,用户可在配置文件(pom.xml)新增或修改每个步骤用到的插件。
由此,根据示例性实施例,可从远程代码仓库(SVN/GIT)将源代码下载到本地代码仓库(例如,工作机300中预设的文件夹中),或在本地代码仓库中直接编写源代码,然后,可在对源代码进行编译之前调用插件revision plugin,通过插件获取源代码所在的本地代码仓库的(SVN/GIT)的信息(例如,版本号、分支路径和生成时间),自动生成临时文件MyRevision.java(对应于上文中所述的文件)以记录上述信息,随后,maven会将临时文件Myrevision.java和源代码一起编译并打包,从而生成Java包,并且可在生成Java包的同时删除临时文件Myrevision.java。然后将所述Java包上传到服务器。
上述实施例说明了Java数据包的生成以及所述Java数据包的上传,而生成Java数据包是为了被第三方使用,下面再次参照图2说明该Java数据包的使用过程。当工作机200需要所述Java数据包时,在步骤S210,确定Java数据包的坐标,例如,可从外部(例如,可从maven门户网站下载)接收Java数据包的坐标,随后,在步骤S220,根据所述Java数据包的坐标,从服务器下载所述Java数据包,其中,在所述数据包中包括用于标识Java源代码的标识信息的文件。根据示例性实施例,在步骤S230,可从所述Java数据包中提取出文件和源代码。在使用maven的示例性实施例中,工作机200可根据maven坐标(groupId,artifactId,version)下载Java数据包。由于不同的Java数据包的maven坐标可能相同,所以通过相同maven坐标会下载多个Java数据包,然后通过查看所述多个Java数据包中的标识信息来确定所需的Java数据包,因此仅通过Java数据包即可定位到所需的Java数据包。
例如,当被告知Java数据包不符合预期时,工作机可通过Java数据包中的Myrevision.java找到/识别出不符合预期的Java数据包,从而不必查看符合预期的Java数据包,从而节省了编程人员的时间。
为了更清楚地理解数据处理系统的处理过程,以下将参照图3进行进一步解释。图3示出了本发明的示例性实施例的数据处理系统实际使用过程的示图。
用户A在工作机A上修改/生成Java源代码,同时对Java源代码所在的仓库信息进行分析以生成临时文件,然后利用mavin工具将生成的临时文件与源代码一起打包生成Java数据包,并将所述Java数据包上传到服务器中的mavin仓库。
当用户B需要用户A上传的数据包时,用户B需要获取该数据包的mavin坐标,具体来说,用户B可通过各种方式从外部获取该数据包的Mavin坐标,例如,用户B可如图3中所示从用户A接收所述mavin坐标,或者用户B可从相关网站下载所述mavin坐标等。然后,用户B在配置文件中写下所述mavin坐标,从而将所述Java数据包从服务器中的mavin仓库下载到工作机B中。接着,工作机B可将下载的Java包与本地源代码一起编译成可执行软件。此外,工作机B可从下载的Java包中提取出临时文件和源代码,从而可以根据临时文件中包含的标识信息来确定下载的Java包是否为所需的Java包。
图4示出了根据本发明的示例性实施例的三种应用场景的示图。
参照图4,在根据示例性实施例的第一种应用场景中,编程人员对配置文件(pom.xml)进行配置,使得在maven编译之前自动调用插件Revision Plugin,并通过Revision Plugin使用GIT/SVN命令行来获取分支路径、版本号、生成时间等,从而生成临时文件Myrevision类,并将临时文件Myrevision类与源代码(例如,业务类1、业务类2…业务类n)放在同一目录(存储在同一个文件夹)下,然后将Myrevision与源代码一起编译打包并将生成的Java包上传,随后,可将临时文件Myrevision删除。
在根据示例性实施例的第二种应用场景中,在第三方(例如,app)通过在配置文件中设置maven坐标来下载并使用Java包的情况下,第三方可仅通过Java包本身来确定其所对应的源代码。详细地说,第三方通过maven坐标下载Java数据包,并从Java数据包提取类文件MyRevision。通过类文件MyRevison,第三方可获取源代码所在的代码仓库的版本号和源代码所在的代码仓库的分支路径以及生成所述版本号和分支路径的生成时间。
此外,在使用spring的系统中,可为Myrevision定义一个Bean,启动Bean即可自动打印下载的Java包的版本号,可选地,第三方可通过debug工具查看Java包中的文件。由此可以看出,第三方仅通过下载的Java包即可获取Java包所对应的用于识别源代码的信息,从而准确且迅速地寻找到所需的Java包。
此外,除了以上第三方通过下载Java包来查看源代码的标识信息之外,第三方也可通过插件Revision Viewer在未加载和执行时查看Java包的标识信息。如图3中所示,在根据示例性实施例的第三种应用场景中,第三方可使用插件Revision Viewer在未加载和执行时查看Java包中的文件,从而获取用于识别源代码的信息。
在以上示出的三种场景中,都是通过源代码的标识信息来准确地表示源代码的信息,从而在不需要外部监控的情况下,仅利用生成的Java包即可快速定位到所需的源代码。
图5示出了根据本发明的示例性实施例的Java数据包生成设备的框图。参照图5,根据示例性实施例的Java数据包生成设备包括生成单元510、存储单元520和打包单元530。图5中的Java数据包生成设备仅示出了与本示例性实施例相关的组件。因此,本领域普通技术人员将理解:在数据处理设备中还包括除了图5中示出的组件之外的通用组件。
根据示例性实施例,生成单元510获取包含用于标识Java源代码的标识信息的文件。存储单元520用于将所述文件存储在所述Java源代码所在的文件夹中。打包单元530用于将所述文件和所述Java源代码进行打包以生成Java数据包。
进一步地,所述Java数据包生成设备还包括上传单元(未示出)。上传单元用于将所述Java数据包上传到服务器。
图6示出了根据本发明的示例性实施例的信息提取设备的框图。
参照图6,根据示例性实施例的信息提取设备可包括确定单元610、获取单元620和提取单元630。图6中的信息提取设备仅示出了与本示例性实施例相关的组件。因此,本领域普通技术人员将理解:在信息提取设备中还包括除了图6中示出的组件之外的通用组件。
确定单元610用于确定Java数据包的坐标。获取单元620用于根据Java数据包的坐标,获取Java数据包,其中,在所述数据包中包括用于标识Java源代码的标识信息的文件。提取单元630用于从所述Java数据包中提取文件和源代码。
当使用相同maven坐标而得到多个不同Java数据包时,信息提取设备可根据标识信息来确定所需的源代码。例如,可通过标识信息中的生成时间来确定是否在合理时间段内,并将在合理时间内的Java数据包确定为所需的Java数据包。例如,可通过标识信息中的代码仓库的版本号和分支路径来确定所需的Java数据包。
由此看来,本申请的技术方案通过在编程阶段使用用于标识源代码的信息来对源代码进行进一步描述,从而能够在没有外部监控的情况下对相同坐标的Java数据包进行区分,并且能够快速获取所需的源代码,因此,能够在对源代码监控、修改或定位等方面提供便利。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程Java数据包生成设备的处理器以产生一个机器,使得通过计算机或其他可编程Java数据包生成设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的设备。
这些计算机程序指令也可存储在能引导计算机或其他可编程Java数据包生成设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令设备的制造品,该指令设备实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程Java数据包生成设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (18)
1.一种Java数据包生成方法,其特征在于,包括:
生成包含用于标识Java源代码的标识信息的文件;
将所述文件存储在所述Java源代码所在的文件夹中;
将所述文件和所述Java源代码进行打包以生成Java数据包。
2.如权利要求1所述的Java数据包生成方法,其特征在于,所述标识信息是通过对Java源代码所在的代码仓库信息进行分析而获取的。
3.如权利要求1所述的Java数据包生成方法,其特征在于,通过类属性来表示所述标识信息中的参数。
4.如权利要求1所述的Java数据包生成方法,其特征在于,所述信息包括所述Java源代码所在的代码仓库的版本号和所述代码仓库的分支路径,或者所述信息包括所述Java源代码所在的代码仓库的版本号和所述代码仓库的分支路径以及生成所述版本号和分支路径的生成时间。
5.如权利要求1所述的Java数据包生成方法,其特征在于,在生成Java数据包之后删除所述文件。
6.如权利要求1所述的Java数据包生成方法,其特征在于,将所述Java数据包上传到服务器。
7.如权利要求1所述的Java数据包生成方法,其特征在于,生成包含用于标识Java源代码的标识信息的文件的步骤包括:调用版本插件,由所述版本插件获取用于标识Java源代码的标识信息,并生成包含所述标识信息的文件。
8.如权利要求7所述的Java数据包生成方法,其特征在于,由所述版本插件获取用于标识Java源代码的标识信息的步骤包括:所述版本插件通过使用SVN/GIT命令行来获取所述标识信息。
9.一种Java数据包生成设备,其特征在于,包括:
生成单元,生成包含用于标识Java源代码的标识信息的文件;
存储单元,将所述文件存储在所述Java源代码所在的文件夹中;
打包单元,将所述文件和所述Java源代码进行打包以生成Java数据包。
10.如权利要求9所述的Java数据包生成设备,其特征在于,所述信息是通过对Java源代码所在的代码仓库信息进行分析而获取的。
11.如权利要求9所述的Java数据包生成设备,其特征在于,所述信息包括所述Java源代码所在的代码仓库的版本号和所述代码仓库的分支路径,或者所述信息包括所述Java源代码所在的代码仓库的版本号和所述代码仓库的分支路径以及生成所述版本号和分支路径的生成时间。
12.一种信息提取方法,其特征在于,包括:
确定Java数据包的坐标;
根据所述坐标,获取Java数据包,其中,在所述数据包中包括用于标识Java源代码的标识信息的文件;
从所述Java数据包中提取所述文件和所述Java源代码。
13.如权利要求12所述的信息提取方法,其特征在于,所述信息是通过对所述源代码所在的代码仓库的信息进行分析而获取的。
14.如权利要求12所述的信息提取方法,其特征在于,所述信息包括所述Java源代码所在的代码仓库的版本号和所述代码仓库的分支路径,或者所述信息包括所述Java源代码所在的代码仓库的版本号和所述代码仓库的分支路径以及生成所述版本号和分支路径的生成时间。
15.如权利要求12所述的信息提取方法,其特征在于,在获取Java数据包之后,通过版本查看器查看Java数据包中的所述文件。
16.一种信息提取设备,其特征在于,包括:
确定单元,确定Java数据包的坐标;
获取单元,根据所述坐标,获取Java数据包,其中,在所述数据包中包括用于标识Java源代码的标识信息的文件;
提取单元,从所述Java数据包中提取所述文件和所述Java源代码。
17.如权利要求16所述的信息提取设备,其特征在于,所述信息是通过对所述源代码所在的代码仓库的信息进行分析而获取的。
18.如权利要求16所述的信息提取方法,其特征在于,所述信息包括所述Java源代码所在的代码仓库的版本号和所述代码仓库的分支路径,或者所述信息包括所述Java源代码所在的代码仓库的版本号和所述代码仓库的分支路径以及生成所述版本号和分支路径的生成时间。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610466727.8A CN106886445A (zh) | 2016-06-23 | 2016-06-23 | Java数据包生成方法及设备和信息提取方法及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610466727.8A CN106886445A (zh) | 2016-06-23 | 2016-06-23 | Java数据包生成方法及设备和信息提取方法及设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106886445A true CN106886445A (zh) | 2017-06-23 |
Family
ID=59176266
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610466727.8A Pending CN106886445A (zh) | 2016-06-23 | 2016-06-23 | Java数据包生成方法及设备和信息提取方法及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106886445A (zh) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107729031A (zh) * | 2017-08-25 | 2018-02-23 | 上海壹账通金融科技有限公司 | 代码管理方法、装置、计算机设备和计算机可读存储介质 |
CN110018857A (zh) * | 2018-01-05 | 2019-07-16 | 武汉斗鱼网络科技有限公司 | 应用组件化中分支自动管理方法、存储介质、设备及方法 |
CN110474970A (zh) * | 2019-07-31 | 2019-11-19 | 澳克多普有限公司 | 一种代码同步方法、装置及系统 |
CN110674781A (zh) * | 2019-10-07 | 2020-01-10 | 黎剑猛 | 一种监控升级方法及系统 |
CN110825361A (zh) * | 2019-10-29 | 2020-02-21 | 成都西加云杉科技有限公司 | 一种代码修改方法、装置、设备及可读存储介质 |
CN111309713A (zh) * | 2020-05-14 | 2020-06-19 | 深圳开源互联网安全技术有限公司 | Maven开源软件库的生成方法、装置及存储介质 |
CN111639019A (zh) * | 2020-04-24 | 2020-09-08 | 北京五八信息技术有限公司 | 代码测试方法、装置及可读存储介质 |
CN111949309A (zh) * | 2020-08-07 | 2020-11-17 | 北京字节跳动网络技术有限公司 | 拉取idl文件的方法、装置、计算机设备和存储介质 |
WO2022222626A1 (zh) * | 2021-04-21 | 2022-10-27 | 北京字节跳动网络技术有限公司 | 一种增量源码获取方法、装置、电子设备及存储介质 |
CN117093286A (zh) * | 2023-10-17 | 2023-11-21 | 腾讯科技(深圳)有限公司 | 插件生成方法、装置、设备及计算机可读存储介质 |
CN117421039A (zh) * | 2023-12-18 | 2024-01-19 | 北京中诺链捷数字科技有限公司 | 前端Vue工程的版本信息生成方法、装置、设备和存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100303098A1 (en) * | 2009-05-29 | 2010-12-02 | Stephen Ong | Auto code generation to generate packet header generation library for switch diagnostics |
CN102929600A (zh) * | 2012-06-13 | 2013-02-13 | 许继集团有限公司 | 基于elf的监控系统版本识别方法 |
-
2016
- 2016-06-23 CN CN201610466727.8A patent/CN106886445A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100303098A1 (en) * | 2009-05-29 | 2010-12-02 | Stephen Ong | Auto code generation to generate packet header generation library for switch diagnostics |
CN102929600A (zh) * | 2012-06-13 | 2013-02-13 | 许继集团有限公司 | 基于elf的监控系统版本识别方法 |
Non-Patent Citations (2)
Title |
---|
RALPH: "Generate a Version.java file in Maven - Stack Overflow", 《GENERATE A VERSION.JAVA FILE IN MAVEN,HTTPS://STACKOVERFLOW.COM/QUESTIONS/2469922/GENERATE-A-VERSION-JAVA-FILE-IN-MAVEN》 * |
漠然: "Maven 教程 - 漠然的博客 _ mritd Blog", 《漠然的博客 _ MRITD BLOG,HTTPS://MRITD.ME/2015/12/31/MAVEN-教程/》 * |
Cited By (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019037418A1 (zh) * | 2017-08-25 | 2019-02-28 | 深圳壹账通智能科技有限公司 | 代码管理方法、装置、计算机设备和计算机可读存储介质 |
CN107729031A (zh) * | 2017-08-25 | 2018-02-23 | 上海壹账通金融科技有限公司 | 代码管理方法、装置、计算机设备和计算机可读存储介质 |
CN110018857A (zh) * | 2018-01-05 | 2019-07-16 | 武汉斗鱼网络科技有限公司 | 应用组件化中分支自动管理方法、存储介质、设备及方法 |
CN110018857B (zh) * | 2018-01-05 | 2022-08-16 | 武汉斗鱼网络科技有限公司 | 应用组件化中分支自动管理方法、存储介质、设备及方法 |
CN110474970B (zh) * | 2019-07-31 | 2022-03-01 | 澳克多普有限公司 | 一种代码同步方法、装置及系统 |
CN110474970A (zh) * | 2019-07-31 | 2019-11-19 | 澳克多普有限公司 | 一种代码同步方法、装置及系统 |
CN110674781A (zh) * | 2019-10-07 | 2020-01-10 | 黎剑猛 | 一种监控升级方法及系统 |
CN110674781B (zh) * | 2019-10-07 | 2023-01-10 | 福建新宇电子有限公司 | 一种监控升级方法及系统 |
CN110825361A (zh) * | 2019-10-29 | 2020-02-21 | 成都西加云杉科技有限公司 | 一种代码修改方法、装置、设备及可读存储介质 |
CN111639019A (zh) * | 2020-04-24 | 2020-09-08 | 北京五八信息技术有限公司 | 代码测试方法、装置及可读存储介质 |
CN111639019B (zh) * | 2020-04-24 | 2023-08-25 | 北京五八信息技术有限公司 | 代码测试方法、装置及可读存储介质 |
CN111309713B (zh) * | 2020-05-14 | 2020-08-18 | 深圳开源互联网安全技术有限公司 | Maven开源软件库的生成方法、装置及存储介质 |
CN111309713A (zh) * | 2020-05-14 | 2020-06-19 | 深圳开源互联网安全技术有限公司 | Maven开源软件库的生成方法、装置及存储介质 |
CN111949309A (zh) * | 2020-08-07 | 2020-11-17 | 北京字节跳动网络技术有限公司 | 拉取idl文件的方法、装置、计算机设备和存储介质 |
WO2022222626A1 (zh) * | 2021-04-21 | 2022-10-27 | 北京字节跳动网络技术有限公司 | 一种增量源码获取方法、装置、电子设备及存储介质 |
CN117093286A (zh) * | 2023-10-17 | 2023-11-21 | 腾讯科技(深圳)有限公司 | 插件生成方法、装置、设备及计算机可读存储介质 |
CN117093286B (zh) * | 2023-10-17 | 2024-01-12 | 腾讯科技(深圳)有限公司 | 插件生成方法、装置、设备及计算机可读存储介质 |
CN117421039A (zh) * | 2023-12-18 | 2024-01-19 | 北京中诺链捷数字科技有限公司 | 前端Vue工程的版本信息生成方法、装置、设备和存储介质 |
CN117421039B (zh) * | 2023-12-18 | 2024-02-27 | 北京中诺链捷数字科技有限公司 | 前端Vue工程的版本信息生成方法、装置、设备和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106886445A (zh) | Java数据包生成方法及设备和信息提取方法及设备 | |
CN106559438B (zh) | 一种基于目标网络平台的程序上传方法和装置 | |
CN107644286B (zh) | 工作流处理方法及装置 | |
CN108829593A (zh) | 代码覆盖率计算分析方法、装置、设备及存储介质 | |
US11816190B2 (en) | Systems and methods to analyze open source components in software products | |
CN106873960A (zh) | 一种应用软件的更新方法和设备 | |
CN104423961B (zh) | 一种生成测试脚本的方法及系统 | |
CN109284106A (zh) | 业务规则的发布管理方法、电子装置及可读存储介质 | |
US20150248277A1 (en) | Methods, apparatuses and computer program products for automated learning of data models | |
CN104516755A (zh) | 安装包生成方法和装置 | |
US9442718B1 (en) | System for assisting in locating changes in source code version control system | |
CN112395253B (zh) | 索引文件生成方法、终端设备、电子设备及介质 | |
CN111859076B (zh) | 数据爬取方法、装置、计算机设备及计算机可读存储介质 | |
US20140304683A1 (en) | Method, server and computer-readable recording media for managing metastore | |
CN107179983A (zh) | 用户界面测试结果的校验方法及装置 | |
CN106776266B (zh) | 测试工具的配置方法及终端设备 | |
CN110213105A (zh) | 一种跨平台微应用创建方法 | |
US20170199912A1 (en) | Behavior topic grids | |
AU2020203975A1 (en) | Information display method, terminal, and server | |
CN106528422B (zh) | 一种检测Java程序页面扰动的方法和装置 | |
CN111143204A (zh) | 一种小程序代码扫描方法和装置 | |
CN110362792A (zh) | 将rn文件转换为小程序文件的方法、装置及转换设备 | |
CN109492398A (zh) | 一种Android应用程序敏感行为的风险检测方法及装置 | |
US10606569B2 (en) | Declarative configuration elements | |
CN111124541B (zh) | 一种配置文件的生成方法、装置、设备及介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20170623 |