Maven介绍和使用指南

上传人:z**** 文档编号:151414440 上传时间:2022-09-13 格式:DOCX 页数:25 大小:197.58KB
返回 下载 相关 举报
Maven介绍和使用指南_第1页
第1页 / 共25页
Maven介绍和使用指南_第2页
第2页 / 共25页
Maven介绍和使用指南_第3页
第3页 / 共25页
点击查看更多>>
资源描述
Maven 项目管理工具介绍2008-2-26Mave n 介绍3一、当前项目挑战4二、Maven提供的解决方案4三、Maven关键功能点113.1 Maven项目构建功能113.2 Maven 项目管理站点12总结18Maven 介绍Maven ( http:/maven.apache.org/)是一 顶级的 Apache Software Foundation 开源项目,创建它最初是为了管理 Jakarta Turbine 项目复杂的构建过程,从那以后,不 论是开源开发项目还是私有开发项目都选择Maven作为项目构建系统Maven快速地发 展着,已经从针对单个复杂项目的定制构建工具成长为广泛使用的构建管理系统,其丰富的 功能可以应用于大多数的软件开发场景。概括来讲,Maven 2能够: 理解项目通常是如何构建的。禾I用其内嵌的项目知识简化和便利项目勾建。 利用其内嵌的项目知识来帮助用户理解复杂的项目结构和构建过程中潜在的变数。 设计并实现一个经证实的依赖项管理系统,该系统顺应了当今全球化和相互联系的项目 团队的需求。 对于高级用户来说相当灵活;针对特别的应用场景,可以覆盖其内嵌模型,也可以通过 配置、部署或创建自定义插件对其内嵌模型进行改写。 全面扩展现有行为之外的场景细节。 捕获新出现的最佳实践和各个用户社区间的经确认的共同性,并将它们纳入到 Maven 的内嵌项目知识中,从而不断地得到改进。由于Maven采用先进的面向项目的方法,许多Apache项目现在使用Maven,而 且公司项目采用 Maven 的比例在持续增长。一、当前项目挑战假如您是一位项目经理,也许您在实际的项目管理中遇到过下面的问题:1. 我同时有多个项目需要监控,所以没有时间去检查每个项目的质量。2. 开发的程序不稳定,经常容易出问题,而且无法找到原因。3. 我不知道程序的质量如何,经常在项目结束时发现重大问题,但已经太晚。4. 虽然开发人员在写单元测试代码,但是不知道这些测试代码究竟能覆盖多少有用的代 码。5. 每个开发小组都使用了不同版本的第三方类库,没有一个标准,集成工作简直成了一场 噩梦。6. 项目之间关系非常复杂,理解其依赖关系是一件困难的事情。7. 由于项目规模太大,编译需要花费很长的时间,集成测试也比较困难,没有办法做到每 日构建。8. 代码拷贝情况严重,很多地方都是相同的代码,而且很多人不习惯按照开发规范编写, 没有经过整理,但是这些问题检查起来需要耗费大量的精力。针对上述问题,Apache组织的Maven项目提供了很好的解决方案。二、Maven提供的解决方案1. 我同时有多个项目需要监控,所以没有时间去检查每个项目的质量。Maven提供了丰富的代码质量分析插件,并且通过Web站点的形式展示出来,通过把这些网站集成起来,项目经理就可以轻松的做到同时监控多个项目的质量。KMS WebAppLast Published: 2008-02-ZfiKMG UtilityKMS cl-sssrfierl=;HS ConfigKMS Lucene-LOi- e-Z. Z. 0 KMS Lucene-ext-Z. Z, D KMS Uucen e - m2.0KMS parsersKMS wabappPixjcc七 Do匚urncnt-atioinAbout KMS WebApp Proje InfarmatlonAbout Continuous ntQgrsrbGn DapondanaaE Dpandc:nGC :nyergcncc: Isjue Track ingM-ailing Lists Proj ect Li cerue Project Surnrnarv Project Team Source H.eposItDKpKnowledge Management 5y stern; includes ths following sub-projects de we lope in g b rrii5r-2.2.D KMS-Lucns-0Kt-2.2.a KM 5-util K ME-pars ere kme-classifier KMS-匚门 fig这个列表是此项目中多个子项目的列表mavenHFHB ! !MEEsiiurcn nipaatisTf2.开发的程序不稳定,经常容易出问题,旦是却不知道程序的质量如何,而且总是在项目 结束时发现重大问题,旦已经太晚而且无法找到原因。Maven通过其提供的几种代码分析插件(测试代码覆盖率分析插件obertura、 重复代码分析插件-CPD、代码耦合度扩展性以及可维护性分析插件-JDepend、代码 质量分析插件-PMD、项目依赖项分析插停Project Dependencies等)实现对项目 质量的监控,并通过持续化的单元测试,达到快速定位问题以及降低代码变化影响的目的。Metric Resultssin nary J |妁皿期声 J |TZ rdfawbig dDuriM*ii cuniidriK iM iiufce & j 3-*dprd miiriz山Th -idwlEiri; miriE4. -* dAnd ihi H bciifawvi u* il-dE ckiELmBrc.SummaiiryimnwY J | pntl- iu J | EEtai aap4wiib:TE |CK;1现.-空_bn-gjpadwJuw或ILD1OLEinj.cpt-a owL23L&4myLeq 却亦PlJWM.Aahrftf fiafidtfd边820SSJLft2DiO 轉LjuE-arH.KtaCUTTHrAL333lbAT A%LS.anMDLibLUTJ epiKh*liSWne如知IL7IEjW羽g31-(1%L” 申 adl P J uCf pi. Qu 的丫殆rii 逅nLl7n0is.annjm3M.Pt-L5.naRDLL0QiLEBTM.HUirEll1-49s丹AILISiJCOJUl lUmgLMQ 璋亦PIlKMfUfK-IKH223a百J2.WJOOg.诣QELerg ” 岬id lea m. n i ch ” p * .io 31D50.0%3EH.EHE-Q.n%L萍JMr*SL?L6IIWSt-W4 gLiXQ.apadlfeJuwfpB.tiCQiA21p3T37.o(nnzn7D.OW:3 ELorgiLnm.utripitAE.sajouisi.ahL代码耦合度扩展性以及可维护性分析报告Thn Idiing tteminl urAinh I hi iniulkk af FNE 护 4.3.Filesihifi-crg/ipceK/an4l5h/CachingiTnkjehFllkEr.JdiaA niihi-:d il-auU hM criv pent, ind Ifiifc ritiMid b 4im Lail 3n tha VMlhEdAA3d RIEEFTTWE ll*i qitrJTfk卯阿曲 ftwwBri-sbir開鼻crg/apachfl-/ucan!fi/analy95/Cha rTakanisar.javaFcuid lO-MiDn hv -ATiiUa Mtiit |1ml iEL-lEsE).Frwn 口7-錚叶网 fw aftale *drt ijrws ,ti-,ji 血可ufp Rul町liirn Lhdihj俺口&晤An npLv BidlaTfinL *3nraKxriDn mt pa*i nf a knpa niiccd iduH Wvm wif y pm!:., and Eh“ th Mid t 4ib Iiie 3 iMrwrii n thi mfic-dFtwH科呦 收1网1 勺旳庫代码质量分析报告另外Maven支持的持续化集成测试(Continuous Integration)也是避免项目 后期风险的有效方法。3. 虽然开发人员在写单元测试代码,但是不知道这些测试代码究竟能覆盖多少有用的代码。Maven的测试代码覆盖率分析插件可以清楚地告诉您每个包的测试代码覆盖情况,甚至还可以告诉您每个类里面哪些语句没有被覆盖到等信息。Prkqnc JUi Pdtkfrffla 巾炖I伙护史ara.yJiHrn 巾炖I伙me4i巧ir$“ ara.yi.Hrn ”a gghel伙me rjea na - ua urnjjLi= bu,E Ekx Lng-ti)X1L1(?;retwm tut ter I hat ferPo5Ltlcn+ + I ;pirlT-at-c- tln.41 void, reti丄J_i:l t-JkrawB IDHuccpt-lOB (ia-fc nvwD bu - 七 ukn!t.E*h.;It C t-oft-c Ji St: arc - : (/ t Ji t zn &wfrer1 Cbu J ar = kluZ1: f/ 垃占 二&总:总丄丄曲 baii-arbuf f r 耳 iu*Ef sftuHBr 204B | ? 朗q曾 II Q丘亡*応j吗tn = Jb-Uif 14E.ldiigt 9hJ / 环EPH JjhIXschar 1 iww chaarCfruCf er. leiipgrt-hZ:SyirtKm. asif rjnxcsjr, 0,. iwluE Eer, C t Ibnf jx-I*nq-Lh. ;=L曰舒Eli工:电闔j1( iH-lss- I/亡口 trant. aciraycopy 11 C Ctr r toSrwiFt arc r bAf ferr F newPositlati:;FJ t terDengrh. “ ttciPosxti-;/t- fl t-f ttf-b-UCCCLPOSlLlQt:! = ELQUPOSLClOlj,;j t terSr act + cokcwBtort-;tcJcBinSt .rt. a 0 ;类代码测试代码覆盖情况,红色为未覆盖的部分4. 每个开发小组都使用了不同版本的第三方类库,没有一个标准,集成工作简直成了一场nTn/fek噩梦。Maven提供了集中的组件库每个项目的开发人员可以通过远程资源库(Centrue Repository)下载统一的第三方组件到本地的项目资源库中(Project Repository),完 成所引用类库的第一关把控。而且Maven还可以支持建立局域网资源库,企业可以在 局域网内部建立一个可共享的资源库这样即使在不能连接外部的安全网络内也可以使 用Maven带来的便利性。另外,Maven还提供了项目依赖项功能(Dependency)即使开发项目最后还 是出现了引用多个版本依赖项的问题Maven也可以及时告诉项目管理者哪个项目引 用了那几个版本第三方类库,如图:Reactor Dependency ConvergenceLegend:u All projectsone version of the dpendn匚*- At least one proje匚t has a differing versian of the dependen匚y.StatisticsNuniibQr of &ub-projects9Number of dependencies (NODJ:41NumbHeof unique artifacts (NOA):柏-Number of SNAPSHOT arlifactfr (NOS):8Convergence (NOD/NOA:Q 95叽Keadv for ftelease (lOUPfb Convergence and no SNAPSHOTS:0 ErrorYou do not have ioa% convergence You have SNAPSHOT dependencies.Dependen匚im呂 ueed in sub-proje匚t吕Iog4j; Iog4j1.2.13a kms-tipo:kms1.2.9a. kms-tipo:KMSUtilb. kms-tipo :匚 lassifyc. kms-tipoconfig匚1 kms-tipo:lucene-exte. kms-tipos pars ei_s5. 项目之间关系非常复杂,理解其依赖关系是一件困难的事情。Maven提供了项目依赖分析插件,可以分析出项目之前的依赖关系,如图:Dependency Tree* kmg-tipo:kmg:war二 quartz:quartz:jar二 velocity:velocity:jar:kms-tipo:lucene-misc:jarl ojclbc;ojdbc:jmr:commons-dbcp:ccin】rnons-dbc:p:jm:commons-pool:commons-pool:jar二 kms-tipo:lucene-eKt:jar kms-tipo: lucene- demo: jar kms- tipo: lucene-core :ja r二 javaK.javamail:mail:jar:javax.activation:activation:jar二 kms-tipo:config:jar m ysql: my sql-connector-java:jar:kms-tipo:classify:jar nutch:nutrh:jar:kms-tipo:KMSUtil:jar javas.,se rvlEt:SErvlmt:-mpi :jm:kms-tipo:parsers:jar ;unit:junit:jar og 斗 j:log4jjar org.htmlparser:htmlparse r:jar coin .sun: tools: jar6. 由于项目规模太大,编译需要花费很长的时间,集成测试也比较困难,殳有办法做到每 日构建。Maven虽然提供了在Eclipse下的可视化操作界面,但是她的功能完全可以通过 命令行来完成,结合任务调度程序(如Windows自带的任务计划程序)可做到每日 后台的定时构建,并及时反馈构建过程中的问题,不需要项目组每个人员花费大量的时 间在编译上面。7. 代码拷贝情况严重,很多地方都是相同的代码,而且很多人不习惯按照开发规范编写, 没有经过整理,但是这些问题检查起来需要耗费大量的精力。Maven提供了三个插件来解决此问题,代码样式检查插件Checkstyle、代码质 量分析插件-PMD、重复代码分析插件-CPD,可以很容易的发现一些代码的质量以及 编写规范问题,如图: tlpo/sS-BO/uSOOS/classifler/WordDI vislon.ja */aJ/ng cha ,.w rorm import whouQ bw awiiwd - jmuia.Q.181.7First sernttns 器hou!日 Hrsi wrlh a pfrind.1CLris 1ias; tnairig 年npgIELre contans & tob char-Kter.15Iie 15 longer tlisn 00 characters.16Lna cantons 罰 tab 匸hnnactiir.lAM5r-3 a Jawadac ccfflment.16r-lama lagqer must mat th pattern A- Z |A-ZD-*3*(JA-ZD-0L-ps K55 traihg sp-szas.17Li ra izaritns; : t型 dQfACtar.17Lrps cantons -b t-sb char-sctar.Marred dloidaawards1 lie not dagrAd rarfilfifisiari - rwds ta be ahstFart, flnl of Pirpty.IB.Mlssro a JffB-sdoc: ccnimBnti38PNMFiGdSf tiii迹 SkfOUkl bw fiid.迪代码样式检查插件-CheckStylePMD ResultsThi tEflpwrrii dEKumrrl carAanE I hi mjJts af FND 4.FilesA Kk-S 計矶射 harrt W* js4 附刚 kic-41 血e* iin rhe許 收b 怔壮sAH 4岬许 K!-ai4r!ii! *;G ME 口1 Of -i fc4pA nitcd abfluH hiua criv b aiA pifc. and Hiafc Ehaid Im 4ih Lilt 3rlBfcrwrrl n Hh nflltiEil FouriEi Di-p-jriEnitr nor mbtuUi fcarf jbrwc TJ-TiCii.FCd 107押则旳 W安4底 OMi: PF代码质量分析插件-PMDCPD ResultsThe following docurriEnt contains the results of PMDs CPD aP 4.1.Duplications重复代码分析报告-CPD三、Maven关键功能点Mave n是一个既能完成高效的Java程序构建,又能提供高级项目管理的强大软件项目 管理工具。1. Mave n项目构建功能a) 资源库(Repository)-中心资源库、项目资源库、本地资源库。b) 单元测试、集成测试。c) 代码分析-代码重复分析、代码质量分析、编码样式分析等。d) 项目网站构建。2. Mave n项目管理站点a) 项目介绍-介绍、FAQ等。b) 项目信息-项目文档、项目依赖关系、待办事项、项目组成员列表等。c) 报表3.1 Maven项目构建功能Mave n提供项目的构建功能,使用方便,功能完善,主要提供如下几个关键功能:功能项功能项说明代码仓 库管理可以把多个项目用到的第二方类库进行集中管理,统一版本,不同(Repository)的项目可从这个代码仓库获取自己需要的类库。单元测试可自动执行代码目录中的单元测试(Unit Test)文件,并生成测试 运行报告。代码分析自动分析代码质量,如耦合程度、可重用性、可维护性等。另外还 可以查看编码规则应用情况。项目网站构建可以针对一个项目建立一个站点,让项目用户、项目组成员以及项 目管理者可以直观的看到项目的基本信息以及代码分析情况。3.2 Maven项目管理站点由于分析功能基本上都是以项目站点报告的方式来展现,所以我们将以KMS Lucene 项目为例简单讲解一下Maven项目站点的功能。321项目介绍如果一个对项目不了解的人想快速了解KMS Lucene的功能和使用方法,Maven项目 简介站点可让他快速了解项目的内容。KMS LuceneL-1A FWfliriMi=IMLiKHd-iKpHtrUvH-i 审 | 片2dIntnHluctinF:-Bea |n LTU bKbM i-1-riT p;.:HFg qppiiMftcr denHistr-fltei- Mawen E ste gswr-slw 血口:眄&勺Ont aF H Neer fp-stunre cf Mthw s She -ariitr 1c uraeftb -an intern禎 edinkai 啤蛮 诚* -at swy Hh past MJbW 2 阿1剧蛮 Ihs rijnctHMUy. BHEl iJW- VDU pOWriUl悸取$ E generate W CHltQHl.Ti-Jim tmrruieasier ie in Msarftui put etF Mrp prq. And w勺呵 tanc kd-an hr bfldir*=iri fnjiKt irrfamalKTi san t-a 旦ind truiiritari. Ukwt” aivji CT picpafc mHMnefit frwi hsiiB its awn dKlrstetf iKhnicd *b 9烧 Sme ussefJ 州ps it dtoe!酬:ere:* unlns-KEiKjrKto Stisrlk; Eda sjeSIs wrlh becHtpifl cr *T 0 Unc Mist rqaeris S5W-SMII图1:项目简介此部分主要包括项目简介、最佳实践、FAQ等,目的是让读者可以快速了解项目的情 况,Maven的站点其实可以通过配置文件增加任意多的内容,通过配置站点配置文件您可 以配置一个复杂的站点介绍网站,目前很多开源项目的网站就是通过这种方法构建的。322项目信息项目信息部分主要是项目相关信息的入口,如项目文档、项目依赖关系、待办事项、项目组成员列表等。以下是项目信息网页截图。KMS LuceneS.n FUWTrWV: k F riaviiPiraject InforniiitiOinaI.Inin. Ihlh-Mabi. Uuh叭事膻;;朗丹m ilTabin 衍HvEalirvFThspn:Miie5 an砂 0 Hip YflT.号 dTCWTiflnls jraj 5 Itiiji: itp prf 0 卄1 甘 p叩SPlHnftnnrtiE 山I Of tN! Errtet 5 9Jtijn:rK 声傅叩柯 b|fHihi Cri D制iH0宦 qlACC.OverviewAbUit CarrliiusuBMpanOfir-AA Bsim Tr-scWfl M.J*nq Lr3 PrnpcL LiEJimvLucene- wlh Wnaiy y就er fer Chtifrje- cMiiKter oyahp. tssri an Ap*he LumnesdtHWiJcn E,0Thii ii: b bri: ha fchi dshrdlKnE -sf ! ccniirucu* nl-icraftn-i prtKaaiKi: Ifiai tr-ridx and inla uodka mi jrs-quldr t-asix.Ttri ODCxJtinl fciLJ. ihwpiDjAtld d印釦血加讪F伽耐面血 5 蠲th iHpfinldAfiCh-.tnsm rM bflji!- rsgwiifrc srMwi f&r itfe paj;rrtsalLrw:. char輩 特罕1牯1引 tw t-s ertawd dqueireidl tri闻 hl*.Th? ricci.Jii5nl: DHDMrir!汕阪冲!?jraj ismriiw rfrimigrlHin 1 rhp prnjWfJ rising 匕Till hi hM: Lq tha dsbh-iilnrTk aTpnijcL icniiPrajacT 別 PrajecL TflimHum FaaarlcrxTte 氏Iftf ochr 讯口wcl mic4TraDi:fi of 出t;匕旳用 i:TNs icmi肿t prcMikaJiefpenbeiiflr iNs (frbkj: Eha 00 ihe-k#vldudsi *ha 阳mcot片打点td to ibe-picjaci fhgrw ftn wWiDltWThe k 鼻 krk ha tbic ra-ihna iiurv rvpQEilary Itiirl can in- fuf*日 hik j wta trnww.图2 :项目信息此部分内容比较简单,不再详细说明。3.2.3代码分析报表代码分析报表是最能体现Maven自动化成果的一部分,在这个部分中我们可以查看项目质量等重要报表,截图如下:KMS LuceneLfircF-VrtMrd 3III4H-13imkh yuan mvCVKrGenerated ReportsFIB dKijmerrl (HPwWfes 5 皿trB导! or yns v-artam-山削sjlansttrfp- fltrereiwl tj)r Ma-en 静 ExH ispert 力 trkinv dc5crWTag UstTt Jra-dhc-c:sDufjkriUdMiLifri.JowCw api 4xiinfe;jgn Cf5*bjj mrlTipj ftr ki Jw p:K:k?.Jiri*5 腳 tn juzcunjnMtji hn=4T 1眠出灯a4 曲仲 n Iflni:. or r|5npnyilyinjhi:.的驹|仃闪rrtsrtfge p豹t甸中电曲网恒1切昴吧陆划加期.Fapart tri hl-Tsrl Md4su API glUTHrrLlliorL可查看的报表种类包括(包含各部分的中文释义):DescriptionDocumentDescriptionCobertura TestCobertura Test Coverage Report.Coverage代码覆盖率CPD ReportDuplicate code detection.重复代码情况JavaDocsJavaDoc API documentation.项目代码文档JDependJDepend traverses Java class file directories and generates design quality metrics for each Java package. JDepend allows you to automatically measure the quality of a design in terms of its extensibility, reusability, and maintainability to manage package dependencies effectively.代码质量报告,可通过此部分可分析设计质量,了解代码的可扩展性、可重用性以及可维护性。MavenReport on the test results of the projec t.Surefire单元测试情况。ReportPMD ReportVerification of coding rules.编码优化检杳报告,PMD插件可检杳如下质量问题: 可能的系统Bug -比如空的try/catch/finally/switch语句。 无用代码-比如没有使用过的本地变量、参数或私有方法等。 不合适的代码-比如应该用StringBuffer但是使用了 String的地方。 多余的表示方法-比如在While循环中不必要的If语句。重复代码-拷贝粘贴的代码以及由此所产生的同类Bug。Source XrefHTML based, cross-reference version of Java source code.HTML格式的项目引用关系说明。Tag ListReport on various tags found in the code. 项目标签列表,一般是列出Todo类标签的内容。Test JavaDocsTest JavaDoc API documentation.测试项目代码文档。以下是一些详细的报告截图:匚mriir员冯端 IRn-pcsii - Alii P-ack-an-sPukdrfUl-*# 1: IlHBIIILtaBH Ca-vaUrurwh C-DVHFfflgiBC-nmiplHarikyflP P*“刖EM71沁 1讥呻卽aw5?H |世网ZAL71Ofc q/sKgH.i%1qe atarhe luwne -sn.slrsi!:2334- lHi:l.iE-?jE-iVSS4H3.7-1itl5:rW =5alDD+ 1H?J=M1DfO.ADACheuCtit jloTitrtlbns, 419M-3H&1H |LeLi2B42ji29prq 4D4h? lUW? 1网曲歸慈:=iCi7.iiasO範磺XZ:T;:0*0 urn.rhLiuann jauaruPariT137:-WTESZLL?fl E涪ara.ADdch 亡u cent f tdrh14E厶心甜口34工TfrH空 #10?QrmdDdUim Jucam利p官丁E54沁27?/32?- b+H |oro.jDJC-hau cacia 需 2ch.qa”4FJL-. _13/4T.55Uqe atirhe iun?fD-an;IS617/44札2ZQrmdDdUimuc?nE .血re30371/ilbiBISl陶朋1Maro.ADdch 亡u otnt juhlg23L13O BZHLOai131 2br:L.Q tin OB-2-22 下甲別 03.图4 :测试代码覆盖率-包级别37 sa399127斗0012741aizz恥43aL71579砖20337461593&947斗日4950203375152203375311343B1Z755812756057050059Q606139946263開2033765203376620337672033760piiblier ?input- m z /euljUc final char esdChaz C)Iulcepr-Lon (iE (huf farPozit.lan = buf f atrLang-th)refLlC 辛returiiL tjuf c&r butr&rPDltlon+-H ;)Erivate Clnal void, rellll () thrums 101 icept Lon nfc nevPasit-ion bufferL- takenStart;if ft. 上 an tart = )/. oAtam iwdh 3 t in buft-arf (buf fee jluII ) f/./ ir j 6 dijE. d21c?c btifjferhuf far 二 lusnrv chjsLr 204& | ; else xf tHuf 乏巴匸1艺皿或1 s !.Eex .leng-t-li.) / rxrj 心rOar niiiici?r (1,. TuzT-uf Eeia tt_. buf fdLcng-t h.) ? hu.Eir = itdirDuJEfier s.cc .i.i- s2ai fb百: 鈕口stSystem. arraycopvCHutrei: r coenScart bucterP 0, newPosltlcin);hu f far Lang-th. = n.au*P 口匚 it.d口 it; buff er Poait-Lan = ncwP a burierScart- += tokenST-art; t- 0;图5 :测试代码覆盖情况-红色部分为非覆盖内容CPD ResultsTha fdlnwinq doci_rnan1 canlans lha nasults af 卧口 匚口口 k? 4.Duplications图6 :重复代码分析Metric ResulUgummarr1 甘 cyd肥的卩加汕即百JThis 伺bwing doGunwot csnrrtara thisof a JOepsrd mstric anatyisi!;. 7he variini.45 meflrjcs rm dEfrsd st the bnttnm trF tiiis documentSummarysummary p-sck-sgeis 品口dndtiuny Cl.曲lon.o%o.n%crg.Apachft.kjLjariA:L:L001QgIJOO.D%0.0%1apaGhejsnEn-sTi-shrais23IB515斗ZEgig1org .apache.Licana. mF戸詁.TtsridardLDB24iZLCFK3J33.DKS3.D%1cfg .apaahft.LiCAns.docuirhf-it:lII336iQ.D%67.D%IX.OOCCfii%i0Q apacheDki5nBn!ndiss097B11791E.D%D%?i.n1erg .BpHchs.LmnH.qLBryRnBr13112D9民 DOOOO1毎lOO.rrS1.5.0000011erg .ApaQhft.kjaana.siaaiTh14212022b11KDcmn 軽&E.D%20.0%1erg apache.lij:nB.5i8arch. lUxHon2S223 612.0%100.0%12.0%1org apachenljssnBiSBfflrEhipayh-Kls3a0D5on%lon.rffto.n%1wfg .Apachft.kjcanii.siaianih.spafr;:LS17216il.D%虽皿4.0%10 g .Apachft.Licania.sEiDfia22B37卸.CiXiXX70.0%3.0%ixg apachs kj5nBni.rtil903d533.D%+5.D%zi.n%1图7 :代码质量分析1Packagessummary p-scage-r cvchf isipLsnatirrEs JEHgrgRtAtMr4H|vie-55Use-s- Pflcfc口叩 apKhs.lucnne- L.ranBPad-5grEf1arg. 3i2hAUCffQ.HiNF:Si5.LJSi1ififTjStfif也前 bq -3chBnh.Jri;rs,.31515,LDWBK;HFiter erg apsEhBnh.ce.-sridyES.LjDWBiCsBTokmrffr 旳“半aizhpucFd泸 k上乜护曲口如日丫:打册沖卩町DFg.apaizhA Jucna.MiNywis.PailierStiiiiYFiltpr or口 spsEhBnh.Jcssrps.-sndh.FrterEtBrmiffl erg sishBnh.isris.-sindifflHi.SimFiBAnahraHrq. jadnnui!firaNruiygsi:d;i d o 血潯刘leMucer已 dgjfiBnt Qrg.-sp-schffl.luEw-s.hdBii口 rq.-apacheu匚 ere. query Par mtrg. jrfcha.lucfira.uanchjawjaua.langisva.LJtia ng.apache juurrir .rdec:图8:代码质量分析2图8是对代码目录中每个包中类进行分析后具体的列表。5unnnary II |【Si.FTHidiyList Test C-ssrs LQti.Citi%ong -sp-Khrdureie- ql-yParser 眄亠韵皿tii2Cfy.diLfFiPlM: 口 rg.砰 j n Pi p. I * 亡 era. 口 jm p m n 品nng spszhiljJCBn? March function rg.fxachau 匚 cnc-.anaivn Dfg.Khfi.lufiijw.udl 。叫-Sp-Khr lurere Wjnrh ng.pKhQ.luEcria.ErtDnEi jrg.:hia.lui2Ciift.adfcFi.pafDad;3Sn0inn.oo%n.5?L4-DaLDD.aD%2.i0直0口iDD.aD%B.lfi31n0inn.on%3EE.5a13D2H4.62S,D.S312DaIDD.aD%2750Q97iEE2B1 81hDDLDD.an%11.430口lDD.aD%fhntt3002.KNote- p-scIc-sgR-Bre nut comp.ii:rd recvriii tiwp- oHy aun up -dl of it:- trstpjtisji nuiiser!-图9 :单元测试代码执行情况-包级别在单元测试报告下方可以看到每个测试错误以及警示的详细内容。如图:ong .apache. Iucne.anal ysis图10 :单元测试代码执行结果-类级别TestSta nda rdAnalyzerteststandardexpected; 8clt;,but wa5;<, .gt;图11:单元测试代码执行结果-代码级别FilesA nwlhnd should hanns criy on? 啊it peril:; a rd thst should be iha Mt n 诂 bement in iha msfredAi/ad js-sgnrnantsi in oparands;63Found Di/ptiDffl叫 mr Yahati tokenires 罚西)Grg/apache/lucere/analyste/Cha rTbkenizar.javaF口und T3l/-anDniahp far YarMbie !starts (lines51 - 85Found DE-ancffialy rar 冒胡汕匚 Mtarf (linuf 乌i7约.51-72山旳d using Hn-d Io甘由口耳 tum Ihsm htn finkhari diYipcy ftaifinKfit
展开阅读全文
相关资源
相关搜索

最新文档


当前位置:首页 > 建筑环境 > 建筑资料


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!