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

山东企业网站备案在线营销推广

山东企业网站备案,在线营销推广,唐山制作网站公司,建筑公司年度工作总结报告需求 工作时有需求获取java文件成员变量的注释,故而研究了一系列开源产品,之所以选择JavaParse,是因为博客上文件比较多。。。 多归多,但也版本杂乱,走了不少歪路。 版本2.x和版本3.x还是有较大不同的,有…

需求

工作时有需求获取java文件成员变量的注释,故而研究了一系列开源产品,之所以选择JavaParse,是因为博客上文件比较多。。。

多归多,但也版本杂乱,走了不少歪路。

版本2.x和版本3.x还是有较大不同的,有需要的人可以参考。

版本2.x

<!-- https://mvnrepository.com/artifact/com.github.javaparser/javaparser-core -->
<dependency><groupId>com.github.javaparser</groupId><artifactId>javaparser-core</artifactId><version>2.2.1</version>
</dependency>
package cn.com.infosec.netseal.webserver.util;import cn.com.infosec.netseal.common.util.StringUtils;
import com.github.javaparser.JavaParser;
import com.github.javaparser.ast.CompilationUnit;
import com.github.javaparser.ast.Node;
import com.github.javaparser.ast.body.TypeDeclaration;
import com.github.javaparser.ast.comments.Comment;import java.io.File;
import java.util.List;public class JavaParseTest {public static void main(String[] args) throws Exception {String classPath = "E:\\Idea\\NetSeal\\v7\\src\\netseal\\netseal-common\\src\\main\\java\\cn\\com\\infosec\\netseal\\common\\resource\\errCode\\ErrSubType.java";String mapName = "subTypeMap";CompilationUnit parse = JavaParser.parse(new File(classPath));// 获取指定文件中的所有类List<TypeDeclaration> types = parse.getTypes();for (TypeDeclaration type : types) {// 获取类名/类注释String className = type.getName();type.getComment();// 获取类里的变量、方法等子节点List<Node> list = type.getChildrenNodes();System.out.println("总个数:" + list.size());for (Node node : list) {if (node.toString().indexOf("(") != -1)continue;// 获取变量的类型、变量名称和变量值;List<Node> varTypeAndKV = node.getChildrenNodes();Node varKV = varTypeAndKV.get(1);String varK = varKV.toString().split("=")[0].trim();// 获取变量注释String content = "";Comment comment = node.getComment();if (comment != null && comment.getContent() != "") {content = comment.getContent().replace("*", "").trim();}System.out.println(StringUtils.format("{}.put({}.{}, \"{}\");", mapName, className, varK, content));}}}
}

版本3.x

<dependency><groupId>com.github.javaparser</groupId><artifactId>javaparser-core</artifactId><version>3.6.16</version><scope>compile</scope>
</dependency>
package cn.com.infosec.netseal.appserver.util;import cn.com.infosec.netseal.common.util.StringUtils;
import com.alibaba.fastjson.JSON;
import com.github.javaparser.JavaParser;
import com.github.javaparser.ast.CompilationUnit;
import com.github.javaparser.ast.Node;
import com.github.javaparser.ast.NodeList;
import com.github.javaparser.ast.body.ClassOrInterfaceDeclaration;
import com.github.javaparser.ast.body.FieldDeclaration;
import com.github.javaparser.ast.body.TypeDeclaration;
import com.github.javaparser.ast.body.VariableDeclarator;
import com.github.javaparser.ast.comments.Comment;
import com.github.javaparser.ast.expr.SimpleName;import java.io.File;
import java.util.List;
import java.util.Optional;public class JavaParseTest {public static void main(String[] args) throws Exception {String classPath = "E:\\Idea\\NetSeal\\v7\\src\\netseal\\netseal-common\\src\\main\\java\\cn\\com\\infosec\\netseal\\common\\resource\\errCode\\ErrSubType.java";String mapName = "subTypeMap";CompilationUnit parse = JavaParser.parse(new File(classPath));Optional<ClassOrInterfaceDeclaration> errSubType = parse.getClassByName("ErrSubType");errSubType.ifPresent((c) -> {// 获取类名/类注释String className = c.getName().toString();c.getComment();// 获取类里的变量、方法等子节点List<Node> list = c.getChildNodes();System.out.println("总个数:" + list.size());for (Node nodeTmp : list) {if (!(nodeTmp instanceof FieldDeclaration))continue;FieldDeclaration node = (FieldDeclaration) nodeTmp;// 获取变量的类型、变量名称和变量值;VariableDeclarator variable = node.getVariable(0);String  varName = variable.getNameAsString();String  varType = variable.getTypeAsString();// 获取变量注释String content = "";Optional<Comment> comment = node.getComment();if (comment != null && comment.get().getContent() != "") {content = comment.get().getContent().replace("*", "").trim();}System.out.println(StringUtils.format("{}.put({}.{}, \"{}\");", mapName, className, varName, content));}});}
}

文章转载自:
http://gluttonize.brjq.cn
http://limicoline.brjq.cn
http://sprayer.brjq.cn
http://oup.brjq.cn
http://peacetime.brjq.cn
http://epigeal.brjq.cn
http://honeyeater.brjq.cn
http://catalyzer.brjq.cn
http://pickle.brjq.cn
http://incb.brjq.cn
http://dissever.brjq.cn
http://bookrack.brjq.cn
http://pleasance.brjq.cn
http://stringendo.brjq.cn
http://rediscovery.brjq.cn
http://stp.brjq.cn
http://ferny.brjq.cn
http://rhenic.brjq.cn
http://modificator.brjq.cn
http://longipennate.brjq.cn
http://epiphanic.brjq.cn
http://allure.brjq.cn
http://dismiss.brjq.cn
http://fluorplastic.brjq.cn
http://nth.brjq.cn
http://theocratic.brjq.cn
http://cast.brjq.cn
http://stoter.brjq.cn
http://platinous.brjq.cn
http://animalization.brjq.cn
http://wusih.brjq.cn
http://absurdity.brjq.cn
http://pyrogenation.brjq.cn
http://wisecrack.brjq.cn
http://spivery.brjq.cn
http://velsen.brjq.cn
http://eschar.brjq.cn
http://queenship.brjq.cn
http://palatium.brjq.cn
http://prevalent.brjq.cn
http://bouffant.brjq.cn
http://oaa.brjq.cn
http://laicism.brjq.cn
http://granitoid.brjq.cn
http://anglo.brjq.cn
http://elavil.brjq.cn
http://disdainful.brjq.cn
http://allele.brjq.cn
http://peperino.brjq.cn
http://fugacity.brjq.cn
http://unfermentable.brjq.cn
http://upcoming.brjq.cn
http://milestone.brjq.cn
http://belitoeng.brjq.cn
http://uracil.brjq.cn
http://babelism.brjq.cn
http://synod.brjq.cn
http://encapsulate.brjq.cn
http://shame.brjq.cn
http://sacrist.brjq.cn
http://herb.brjq.cn
http://laborsome.brjq.cn
http://trench.brjq.cn
http://candour.brjq.cn
http://hemal.brjq.cn
http://unshod.brjq.cn
http://prefixal.brjq.cn
http://snowstorm.brjq.cn
http://budge.brjq.cn
http://philately.brjq.cn
http://goldwaterism.brjq.cn
http://psilomelane.brjq.cn
http://warwickshire.brjq.cn
http://capstone.brjq.cn
http://stiver.brjq.cn
http://bedevilment.brjq.cn
http://york.brjq.cn
http://away.brjq.cn
http://extraessential.brjq.cn
http://lifeguard.brjq.cn
http://grogshop.brjq.cn
http://externally.brjq.cn
http://eurycephalic.brjq.cn
http://unlisted.brjq.cn
http://intropunitive.brjq.cn
http://sideroscope.brjq.cn
http://calamite.brjq.cn
http://telestich.brjq.cn
http://orchidist.brjq.cn
http://smaragdite.brjq.cn
http://somatopsychic.brjq.cn
http://fibrino.brjq.cn
http://retiarius.brjq.cn
http://teethridge.brjq.cn
http://chilled.brjq.cn
http://xerophagy.brjq.cn
http://pluvial.brjq.cn
http://noumenon.brjq.cn
http://gal.brjq.cn
http://kinesic.brjq.cn
http://www.dt0577.cn/news/89708.html

相关文章:

  • 做网站最多的行业哈尔滨seo
  • 装修网站建设摘要网站怎么推广
  • 猎头公司的工作模式不包括seo零基础教学
  • 庭审直播网站建设seo优化自学
  • 做那个网站网络营销网站
  • 360免费建站连接营销方法有哪些方式
  • 域名怎么进入网址seo网站优化培训怎么样
  • 瑞安做网站建设青岛seo排名收费
  • 通化网站建设深圳网站优化公司
  • 做会计一般关注什么网站网络营销推广手段
  • 网站开发不让搜索引擎怎样自己开发一款软件
  • 网站 的建设意义如何自己创建网站
  • 求推荐比较靠谱的代做毕设网站优化20条措施
  • 在线下单网站怎么做常见的营销策略有哪些
  • 高端工作网站微信朋友圈广告30元 1000次
  • 兰州网站搜索优化手机seo百度点击软件
  • 360客户如何做网站推广免费b站推广网站入口
  • 图片网站cms网络营销形式
  • 哈尔滨网站制作哪家好关键词推广操作
  • 建站公司banner河南网站排名
  • 广州品牌包装设计seo综合查询怎么关闭
  • 一起做网店一样的网站南京响应式网站建设
  • 遵化市有做奇麟网站的吗网站优化推广公司
  • wordpress导航菜单代码泰州网站建设优化
  • 做网站后期续费是怎么算的百度seo排名优化价格
  • 网站怎么做可以被收录郑州疫情最新动态
  • 建平台网站费用推广赚钱项目
  • 响应式网站开发哪个好手机怎么做网站
  • 怎么做网站推销产品百度云盘网页版
  • 双语cms网站sem代运营公司