簡體   English   中英

線程“main”中的異常 java.lang.NoClassDefFoundError: org/hamcrest/Matchers

[英]Exception in thread "main" java.lang.NoClassDefFoundError: org/hamcrest/Matchers

為 RestAssured 運行此代碼時出現此錯誤:

Exception in thread "main" java.lang.NoClassDefFoundError: org/hamcrest/Matchers
    at io.restassured.internal.ResponseSpecificationImpl.statusCode(ResponseSpecificationImpl.groovy:133)
    at io.restassured.internal.ValidatableResponseOptionsImpl.statusCode(ValidatableResponseOptionsImpl.java:119)
    at newclas.main(newclas.java:18)
Caused by: java.lang.ClassNotFoundException: org.hamcrest.Matchers
    at java.net.URLClassLoader.findClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    ... 3 more

這是我在我的系統上運行的一段代碼:不確定如何解決導入問題。 已經嘗試了幾次進口,但沒有奏效。

//import io.restassured.matcher.RestAssuredMatchers.*;
//import io.restassured.matcher.RestAssuredMatchers;
import static io.restassured.RestAssured.given;
import io.restassured.RestAssured;
import static org.hamcrest.Matchers.equalTo;
public class newclas {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        RestAssured.baseURI="https://jsonplaceholder.typicode.com";
        System.out.println("befoire given");
        given().
        header("Content-Type", "application/json").
        when().
        get("/users").
        then().
        assertThat().statusCode(200);
        System.out.println("thank you ++ %d");


    }

}

org.hamcrest.Matchers在您的課程路徑中不可用

將以下依賴項添加到您的項目中

<!-- https://mvnrepository.com/artifact/org.hamcrest/hamcrest-junit -->
<dependency>
    <groupId>org.hamcrest</groupId>
    <artifactId>hamcrest-junit</artifactId>
    <version>2.0.0.0</version>
    <scope>test</scope>
</dependency>

此異常告訴您在運行時您的類路徑不包含 hamcrest 庫。

換句話說:您設法讓該庫出現在“編譯”步驟的類路徑中,但是您在運行代碼時以某種方式忘記了。

因此,答案是退后一步並確保在編譯期間應用的類路徑設置與用於運行已編譯類的類路徑設置相匹配。 因此,要么手動執行此操作,要么在 IDE 或構建工具中查看項目定義。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM