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

全国工厂的网站建设seo技术培训

全国工厂的网站建设,seo技术培训,企业自己可以做视频网站吗,美女做暖暖免费视频网站1. 意外的发现 在学习使用grun命令时,从未遇到过错误 最近使用grun命令,却遇到了NoClassDefFoundError的错误,使得grun测试工具无法成功启动 错误复现: 使用antlr4命令编译Hello.g4文件,并为指定package(…

1. 意外的发现

  • 在学习使用grun命令时,从未遇到过错误

  • 最近使用grun命令,却遇到了NoClassDefFoundError的错误,使得grun测试工具无法成功启动

  • 错误复现:

    1. 使用antlr4命令编译Hello.g4文件,并为指定package(com.sunrise.hello
      antlr4 Hello.g4 -o ../java/com/sunrise/hello -package com.sunrise.hello
      
      最终生成的Java代码如下:
    2. 使用mvn clean compile命令编译整个project
    3. target/classes/com/sunrise/hello目录下执行grun命令解析token,出现NoClassDefFoundError的错误
  • 详细的错误日志如下:

    Exception in thread "main" java.lang.NoClassDefFoundError: HelloLexer (wrong name: com/sunrise/hello/HelloLexer)at java.lang.ClassLoader.defineClass1(Native Method)at java.lang.ClassLoader.defineClass(ClassLoader.java:763)at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)at java.net.URLClassLoader.defineClass(URLClassLoader.java:468)at java.net.URLClassLoader.access$100(URLClassLoader.java:74)at java.net.URLClassLoader$1.run(URLClassLoader.java:369)at java.net.URLClassLoader$1.run(URLClassLoader.java:363)at java.security.AccessController.doPrivileged(Native Method)at java.net.URLClassLoader.findClass(URLClassLoader.java:362)at java.lang.ClassLoader.loadClass(ClassLoader.java:424)at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349)at java.lang.ClassLoader.loadClass(ClassLoader.java:357)at org.antlr.v4.gui.TestRig.process(TestRig.java:129)at org.antlr.v4.gui.TestRig.main(TestRig.java:119)
    

2. 错误原因

  • 从报错信息看,貌似是HelloLexer有错误的包名,导致运行时JVM无法找到HelloLexer

  • 上网查阅NoClassDefFoundError的原因如下:

    NoClassDefFoundError错误的发生,是因为Java虚拟机在编译时能找到合适的类,而在运行时不能找到合适的类导致的错误

  • 有一大堆文字,但是没看懂 😂 😂

  • 但是,对错误原因的简单描述跟当前情况十分吻合:生成的package为com.sunrise.hello的Java代码已经编译成功,但运行时却提示not found

  • 猜测:执行grun命令的路径不对,且作为GrammerName的Hello应该带包名

  • 验证猜测:回到target/classes目录,执行grun命令

    grun com.sunrise.hello.Hello r -tokens
    
  • 成功使用grun命令解析出tokens

3. 正确的解决办法

  • 使用grun测试lexer或parser时,如果生成的Java代码有设置package,需要到target/classes目录,并在GrammerName中使用类的完全限定名
  • 也就是需要带上package信息,就像下面的命令一样
    grun com.sunrise.hello.Hello r -tokens
    
http://www.dt0577.cn/news/54752.html

相关文章:

  • 广西城乡建设名网站什么都能搜的浏览器
  • b2b是指什么的电子商务模式郑州seo阿伟
  • 电子商务网站建设pdf超级外链工具有用吗
  • 网络规划设计师教程第2版2021版pdfseo是什么?
  • 武汉 网站建设 报价手机网站建设价格
  • 石家庄做网站建设的公司短视频seo软件
  • 化州网站建设宁德市属于哪个省
  • 大型搜索网站开发bt种子搜索
  • 正规的网站建设商品seo关键词优化
  • 域名绑定网站提示正在建设新东方考研班收费价格表
  • 做网站卖游戏装备王通seo赚钱培训
  • 湖南吉首建设官方网站济南做网站公司哪家好
  • 前端设计合肥网站关键词优化公司
  • 专业直播网站开发襄阳seo优化排名
  • 免费网站注册免费网站申请问卷调查网站
  • 做套网站多少钱小红书搜索关键词排名
  • 万江区网站仿做sem竞价推广是什么
  • 网站建设的增值税税率营销方法有哪些方式
  • 传奇官方网站seo关键词排名优化工具
  • 淘宝网站代做搜索引擎营销的方法包括
  • 做汉字网站的外国人拼多多代运营一般多少钱
  • 健康网站模版网站推广的方式
  • 网站彩票网站开发同城广告发布平台
  • 不做百度了 百度做的网站360竞价推广技巧
  • wordpress后台慢jsseo排名优化公司
  • 跨境电商erp软件前十名信息流优化
  • 工业设计网站导航百度app安装
  • 网站开发背景图模板百度地图收录提交入口
  • 做中学网站杭州小周seo
  • 成都网站建设公司有哪几家舆情网站直接打开怎么弄