这两天项目刚过点,略有点时间把项目组陈年的自动化桩拿出来整改,最主要原因还是因为我想在已有接口上加参数,可是测试桩的代码很旧,过程中要加个参数得增量加,很麻烦,因为代码变更已经越来越大了,而旧的适配测试桩的代码又没有归档,真是受不了当时整理测试桩的人了。
整改代码很顺利,基本上没花多少时间,在本地调试通过后,就到执行机上跑python用例,但是一跑就报:
java.lang.LinkageErrorPyRaisable: java.lang.NoClassDefFoundError: org/apache/log4j/Logger
由于我已经在用JDK.18了,而之前的桩采用的是JDK1.7,所以我又用1.7的JDK同时用ANT编了个包,然而没有什么用。
就这么僵持了快一天,(感谢测试今天没怎么来烦我),各种包的前后对比,不管有用没用的换包删包,突然意识到没有对比过MANIFEST.MF,一查看豁然开朗,里面的class路径没有添加依赖包
Main-Class: XXX.TestMain
Class-path: lib/guava-11.0.2.jar lib/log4j-1.2.16.jar XXX
添加后放回压缩包,问题搞定,原因很简单,却很容易忽略。
领取专属 10元无门槛券
私享最新 技术干货