简体   繁体   中英

Exception in thread “main” java.lang.NoClassDefFoundError: io/restassured/response/Response

POJO class for login to Jira localhost.

 package com.rest.requestpojo; import com.google.gson.annotations.Expose; import com.google.gson.annotations.SerializedName; public class LoginApi { @SerializedName("username") @Expose private String username; @SerializedName("password") @Expose private String password; public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } } 

service classs to get the response from JIRA post call for login. I am just using main method to check the response.

 package com.rest.services; import org.json.JSONObject; import com.rest.requestpojo.LoginApi; import io.restassured.RestAssured; import io.restassured.response.Response; import io.restassured.specification.RequestSpecification; public class Service { public Response jiraLoginAuth(String username, String password) { LoginApi login = new LoginApi(); login.setUsername(username); login.setPassword(password); JSONObject jsonObject = new JSONObject(login); RequestSpecification requestSpecification = RestAssured.given(); requestSpecification.contentType("application/json"); requestSpecification.body(jsonObject); Response response =requestSpecification.post(ServiceURL.jiraLoginUrl); System.out.println(response); return response; } public static void main(String[] args) { Service service = new Service(); service.jiraLoginAuth("chinmaya","ck2016d"); } } 

Service url to post.

 package com.rest.services; public class ServiceURL { public final static String jiraLoginUrl ="http://localhost:8080/rest/auth/1/session"; } 

Below is the POM.XML page where all the dependecies are available.

 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.restAPIFramework</groupId> <artifactId>restAPIFramework</artifactId> <version>0.0.1-SNAPSHOT</version> <dependencies> <dependency> <groupId>io.rest-assured</groupId> <artifactId>rest-assured</artifactId> <version>3.0.7</version> <scope>test</scope> </dependency> <dependency> <groupId>io.rest-assured</groupId> <artifactId>json-schema-validator</artifactId> <version>3.0.7</version> <scope>test</scope> </dependency> <!-- https://mvnrepository.com/artifact/com.google.code.gson/gson --> <dependency> <groupId>com.google.code.gson</groupId> <artifactId>gson</artifactId> <version>2.8.2</version> </dependency> <dependency> <groupId>org.json</groupId> <artifactId>json</artifactId> <version>20180130</version> </dependency> </dependencies> </project> 

Below is the error i am getting during run time. Is there any dependencies or jars missing in POM which causing the issue? Please help me with this i am new to restassured.

 Exception in thread "main" java.lang.NoClassDefFoundError: io/restassured/response/Response at java.lang.Class.getDeclaredMethods0(Native Method) at java.lang.Class.privateGetDeclaredMethods(Unknown Source) at java.lang.Class.privateGetMethodRecursive(Unknown Source) at java.lang.Class.getMethod0(Unknown Source) at java.lang.Class.getMethod(Unknown Source) at sun.launcher.LauncherHelper.validateMainClass(Unknown Source) at sun.launcher.LauncherHelper.checkAndLoadMain(Unknown Source) Caused by: java.lang.ClassNotFoundException: io.restassured.response.Response 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) 

You need to change the scope of rest-assured in your pom file because according to your current configuration that dependency is only available during the test phase.

Try changing it to

<scope>compile</scope>

Changing my restassured dependency version from 3.0.0 to 3.0.7 solved the problem for me.

<dependency>
    <groupId>io.rest-assured</groupId>
    <artifactId>rest-assured</artifactId>
    <version>3.0.7</version>
    <scope>test</scope>
</dependency>

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM