• 从安装maven的错误说起


      现在处于项目的收尾阶段,主要写一些测试用例。但是测试用例一直不通过,报错为

    could not find class, No class definition found

      这个class是ItTokenMagnager,该工程使用Springboot框架,Apollo配置中心。我一直认为可能是跑测试用例,测试框架没有把这个类加载进来,然后一直找不到原因。后来找se看了,说是本地的配置文件不全,但是我一直相信使用的是Apollo配置,后来添加完整后就不报错了,说明在跑测试用例时确实使用的本地配置。

      这说明我确实没有了解Apollo框架的工作原理,它启动时需要设置JVM参数,在跑测试用例时就没有使用添加参数。然后如果看日志,也能够看出来。

      在来看第二个问题:要跑测试用例,用到maven工具,我很清楚maven的安装,但是之前尝试了一下,没有安装上,今天就被se diss 太土,然后我就去配置maven的bin路径。然后在cmd窗口测试,但是mvn命令还是无法识别,不知道怎么回事,百度也没有答案,也没有认问。于是我凭借自己掌握的一些知识,开始了硬核debug之旅。

      首先使用echo %PATH%, 看到了maven的bin路径,说明配置文件路径生效了。自己下学习时,好像听说这些命令都是bin文件解析的,都是去搜索path路径和当前路径下,有没有该命令。然后我就去D盘的maven bin路径下,调用mvn,可以了,说明这个maven的安装包是ok的。然后我发现C盘有一个maven,我配置上这个路径,奇迹发生了,可以了。然后我在思考为甚D盘的那个不可以?然后我又添加了MAVEN_HOME,作为中间变量,奇迹又发生了,真的可以了。

      然后我几次调用echo %PATH%, 发现在D盘的路径D看不太清,似乎是乱码,这样就找出一点原因了。于是我以为PATH路径不能直接配置D盘目录,否则就会出现这种情况,然后百度相关问题,根本没有说,倘若这是一条规则,那么也应该很重要,很多博客应该会谈到,但是没有,我否定我这个结论。然后猜测是不是目录乱码,path我是复制粘贴的,于是对照键盘输入,真的可以了。这下我真的搞清楚了这个问题,至于为什么是乱码,这个真的找不到原因。

      总结一下,一定的知识和不断实践是解决这个问题的突破口,两个缺一不可,应为没有人先知,告诉你这是乱码的原因。在实践中,一步步发现问题的线索,然后才能解决问题。反观第一个问题,就是我对于Apollo和Test缺乏原理认知,走在相关的道路,也没有发现问题的线索,就一直无法解决问题。这说明知识和头脑,手都很重要。

  • 相关阅读:
    使用Java和JS访问cookies
    详细介绍Java内存泄露原因
    Java与Unicode
    电子商务那点事
    request的一些常用方法
    一些java当中的名词解释
    rpc远程服务
    war包和jar包的区别
    为什么内存贵硬盘便宜
    分层开发的优势
  • 原文地址:https://www.cnblogs.com/Robin008/p/13081126.html
Copyright © 2020-2023  润新知