繁体   English   中英

线程“ main”中的异常java.lang.NoClassDefFoundError:io / restassured / response / Response

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

用于登录到Jira localhost的POJO类。

 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; } } 

服务类,以从JIRA呼叫后获得响应以进行登录。 我只是使用主要方法来检查响应。

 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"); } } 

要发布的服务网址。

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

以下是POM.XML页,其中提供了所有依赖项。

 <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> 

以下是我在运行时遇到的错误。 在POM中是否缺少任何依赖项或jar导致问题? 请帮我解决这个问题,我是新手。

 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) 

您需要更改pom文件中的保证范围,因为根据当前配置,依赖性仅在测试阶段可用。

尝试将其更改为

<scope>compile</scope>

将我放心的依赖版本从3.0.0更改为3.0.7为我解决了这个问题。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

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