首页
学习
活动
专区
工具
TVP
发布

Python调用JAVA报NoClassDefFoundError

这两天项目刚过点,略有点时间把项目组陈年的自动化桩拿出来整改,最主要原因还是因为我想在已有接口上加参数,可是测试桩的代码很旧,过程中要加个参数得增量加,很麻烦,因为代码变更已经越来越大了,而旧的适配测试桩的代码又没有归档,真是受不了当时整理测试桩的人了。

整改代码很顺利,基本上没花多少时间,在本地调试通过后,就到执行机上跑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

添加后放回压缩包,问题搞定,原因很简单,却很容易忽略。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180611G1V9YJ00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券