gpt4 book ai didi

java.lang.NoClassDefFoundError : Could not initialize class 错误

转载 作者:搜寻专家 更新时间:2023-10-31 20:21:56 26 4
gpt4 key购买 nike

我在运行某些测试时遇到错误 java.lang.NoClassDefFoundError 只有几次。

设置如下:测试用 Scala 编写,服务用 Scala 和 Java 编写。也使用 ant 和 ivy。

Order.scala 看起来像这样:

  object Order extends JdbcEnabled {

val orderServiceClientIpAddress = Network.localIpAddress
val PersonalOffersSaleId = "123"
lazy val checkoutClient = new CheckoutClientImpl(YamlConfigFactory.loadConfig(
this.getClass.getClassLoader.getResourceAsStream("core_config.yaml")
).getRequiredSubConfig("core").getRequiredSubConfig(Environment.HostEnv))


val storeList = new JLinkedList[Store]()
storeList.add(OrderHelper.getSelectedStore)
var skuList = OrderHelper.getAvailableSkus
val skusForInternationalOrders = skuList


def createOrder(){...}}

有许多测试使用 TestNG 运行。有时所有的测试都毫无问题地通过了,但有时它们会因为这个异常而失败。

下面是测试失败时如何调用 Order api 的片段。

val orderNumber = Order.createOrder()

这是测试失败时的完整堆栈跟踪:

java.lang.NoClassDefFoundError: Could not initialize class com.api.Order$
at com.CreateOrder.setUpOnce(CreateOrder.scala:35)

该类中的第 35 行,CreateOrder.scala 是:

val orderNumber = Order.createOrder()

最佳答案

这可能不是您的整个类路径,您必须在某处找到缺失类的名称(可能在“由...引起”之后)。也许 TestNG 可以配置为向您显示完整的堆栈跟踪。

无论如何,初始化错误意味着“object Order”在其构造函数中抛出异常,所以看看您在那里使用的是什么:可能缺少 JDBC 类?或者您正在通过类加载器检索的配置文件?

关于java.lang.NoClassDefFoundError : Could not initialize class 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12988261/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com