当前位置: 首页 > news >正文

网站如何seo推广网站推广的意义和方法

网站如何seo推广,网站推广的意义和方法,立方米网站建设,工程项目信息查询平台一、简述 Maven项目通过package打成jar包后,jar包中包含所有依赖lib文件。本文介绍了两种方式解析嵌套jar中的class文件,一种是通过spring-boot-loader包JarFileArchive,另一种是util包中JarFile。 二、JarFileArchive方式 1.spring-boot-…

一、简述

Maven项目通过package打成jar包后,jar包中包含所有依赖lib文件。本文介绍了两种方式解析嵌套jar中的class文件,一种是通过spring-boot-loader包JarFileArchive,另一种是util包中JarFile。

二、JarFileArchive方式

1.spring-boot-loader依赖引入

<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-loader</artifactId><version>2.2.4.RELEASE</version>
</dependency>

 2.demo案例

   public static void main(String args[]) throws Exception {String jarPath = "C:\\Users\\root\\Desktop\\make-test.jar";// 方案一:spring-boot-loaderlong start1 = System.currentTimeMillis();getClassInfoByJarLib(jarPath);long end1 = System.currentTimeMillis();log.info("收集所有lib类ClassInfo,花费时间={}",(end1-start1));} public static void getClassInfoByJarLib(String jarPath) {String filePath = "file:/"+ URLDecoder.decode(jarPath, StandardCharsets.UTF_8).replaceAll("\\\\","/")+"!/";String rootJarPath = "jar:"+ filePath;try {JarFileArchive jarFileArchive = new JarFileArchive(new Handler().getRootJarFileFromUrl(new URL(rootJarPath)));//getNestedArchives获取嵌套的jar等文件,参数是个EntryFilter,过滤条件jarFileArchive.getNestedArchives(entry -> entry.getName().startsWith("BOOT-INF/lib/") && entry.getName().endsWith(".jar")).forEach(archive -> {archive.iterator().forEachRemaining(entry -> {String entryName = entry.getName();// 过滤嵌套jar包中字节码文件if (entryName.endsWith(".class")) {String className = entryName.replace('/', '.').replace(".class", "");log.info("className:{}",className);}});});} catch (IOException e) {log.error("解析嵌套jarLib中ClassInfo异常,jarPath={}",jarPath,e);throw new RuntimeException(e);}}

三、JarFile方式

1.demo案例 

   public static void main(String args[]) throws Exception {String jarPath = "C:\\Users\\root\\Desktop\\make-test.jar";// 方案二:JarFilelong start2 = System.currentTimeMillis();processJar(jarPath);long end2 = System.currentTimeMillis();log.info("收集所有lib类ClassInfo,花费时间={}",(end2-start2));} private static void processJar(String jarPath){try (JarFile jarFile = new JarFile(new File(jarPath))) {jarFile.stream().parallel()// 过滤出所有符合要求的jar包.filter(entry -> !entry.isDirectory() && entry.getName().startsWith("BOOT-INF/lib/") && entry.getName().endsWith(".jar")).forEach(entry -> processNestedJar(jarFile, entry.getName()));} catch (IOException e) {log.error("解析嵌套jarLib中ClassInfo异常,jarPath={}",jarPath,e);throw new RuntimeException(e);}}private static void processNestedJar(JarFile jarFile, String entryName){// 处理嵌套jar文件try (InputStream nestedJarStream = jarFile.getInputStream(jarFile.getJarEntry(entryName));JarInputStream jarInputStream = new JarInputStream(nestedJarStream)) {JarEntry nestedEntry;while ((nestedEntry = jarInputStream.getNextJarEntry()) != null) {if (nestedEntry.isDirectory()) {continue;}String nestedEntryName = nestedEntry.getName();if (!nestedEntryName.endsWith(".class")) {continue;}try {String className = nestedEntryName.replace('/', '.').replace(".class", "");log.info("className:{}",className);} catch (Exception e) {log.error("目标类={}查找失败",nestedEntryName,e);throw new RuntimeException(e);}}} catch (IOException e) {log.error("目标类={}查找失败",entryName,e);throw new RuntimeException(e);}}

四、两种方式对比

实测项目make-test.jar中所有依赖lib约200个,其中所有class字节码文件约7万多个。方案JarFileArchive约1.5s全部解析,方案JarFile约6s全部解析。

http://www.yayakq.cn/news/881417/

相关文章:

  • js网站文字重叠微信公众号开发微网站开发
  • 网站入口首页莱芜金点子保安最新招聘信息
  • 2008vps做网站大企业宣传片
  • 网站上地图怎么做的泰安中推网络科技公司
  • 网站开发和界面的区别江苏成章建设集团有限公司官方网站
  • 拐角型网站wordpress 上传幻灯片
  • 重庆企业免费建站嘉兴做网站设计
  • apache配置多个网站如何改变网站的排版
  • 网站开发 环境自己做电商网站
  • 企业自适应网站制作网络营销成功案例ppt免费
  • 毕业设计的网站苏宁易购网站建设
  • 最新网站架构北京常规网络营销电话
  • 上海人才网招聘网官方网做网站优化就是发文章吗
  • 自助建站系统建的网站做排名吗短期网页制作培训
  • 做景区网站建设的公司网站栏目建设图
  • wordpress站群服务器手机主题如何自己制作网站
  • 网站开发费用属于哪种无形资产ps兼职做网站
  • 遵义网站建设培训ueditor to wordpress
  • 一台服务做两个网站网站开发视频转码
  • 仿淘宝网站建设网络营销案例分析
  • 甘肃建设厅网站二级建造师报名时间昆山企业网站设计
  • 企业营销型网站建设哪家公司好通信建设资质管理信息系统网站
  • 澄迈网站建设企业网站备案 名称
  • 零售网站模板2级a做爰片免费网站
  • 常德市做网站的公司广州网页设计企业
  • 北京住总第一开发建设有限公司网站重庆网站模板制作
  • 基于营销导向的企业网站建设研究青田县建设局网站
  • 求一个网站北京网站制作公司建站
  • 已有网站备案更换idc 多久企业网络搭建服务
  • 网站做适配多少钱做网站的开发语言