2012-10-18 1 views
0

보장 : 나는 나머지 1.7을 보장 사용하고NullPointerException이 휴식 매우 간단한 테스트를 실행할 때 나는이 코드를 실행하려고 다음과 같은 오류 얻을

import com.jayway.restassured.response.Response; 
import static com.jayway.restassured.RestAssured.*; 

public class TestRestAssured { 
public static void main (String args[]){ 
// Call the REST service 
Response res = get("http://10.213.75.170:5000/bla"); // <--- Crashes on this line. 

    // Get the JSON payload 
    String json = res.asString(); 
} 

    } 

java.lang.NullPointerException 
    at org.codehaus.groovy.reflection.GeneratedMetaMethod$DgmMethodRecord.loadDgmInfo(GeneratedMetaMethod.java:163) 
    at org.codehaus.groovy.runtime.metaclass.MetaClassRegistryImpl.registerMethods(MetaClassRegistryImpl.java:155) 
    at org.codehaus.groovy.runtime.metaclass.MetaClassRegistryImpl.<init>(MetaClassRegistryImpl.java:83) 
    at org.codehaus.groovy.runtime.metaclass.MetaClassRegistryImpl.<init>(MetaClassRegistryImpl.java:61) 
    at groovy.lang.GroovySystem.<clinit>(GroovySystem.java:29) 
    at org.codehaus.groovy.runtime.InvokerHelper.<clinit>(InvokerHelper.java:49) 
    at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.createMap(ScriptBytecodeAdapter.java:619) 
    at com.jayway.restassured.internal.ResponseParserRegistrar.<init>(ResponseParserRegistrar.groovy) 
    at com.jayway.restassured.RestAssured.<clinit>(RestAssured.java:336) 
    at TestRestAssured.main(TestRestAssured.java:16) 
Exception in thread "main" java.lang.NullPointerException 
    at org.codehaus.groovy.runtime.callsite.CallSiteClassLoader.loadClass(CallSiteClassLoader.java:45) 
    at java.lang.ClassLoader.loadClass(Unknown Source) 
    at org.codehaus.groovy.reflection.ClassLoaderForClassArtifacts.loadClass(ClassLoaderForClassArtifacts.java:58) 
    at java.lang.ClassLoader.defineClass1(Native Method) 
    at java.lang.ClassLoader.defineClass(Unknown Source) 
    at org.codehaus.groovy.reflection.ClassLoaderForClassArtifacts.define(ClassLoaderForClassArtifacts.java:42) 
    at org.codehaus.groovy.reflection.ClassLoaderForClassArtifacts$1.run(ClassLoaderForClassArtifacts.java:86) 
    at org.codehaus.groovy.reflection.ClassLoaderForClassArtifacts$1.run(ClassLoaderForClassArtifacts.java:84) 
    at java.security.AccessController.doPrivileged(Native Method) 
    at org.codehaus.groovy.reflection.ClassLoaderForClassArtifacts.defineClassAndGetConstructor(ClassLoaderForClassArtifacts.java:84) 
    at org.codehaus.groovy.runtime.callsite.CallSiteGenerator.compilePojoMethod(CallSiteGenerator.java:229) 
    at org.codehaus.groovy.reflection.CachedMethod.createPojoMetaMethodSite(CachedMethod.java:257) 
    at org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite.createCachedMethodSite(PojoMetaMethodSite.java:159) 
    at org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite.createPojoMetaMethodSite(PojoMetaMethodSite.java:148) 
    at groovy.lang.MetaClassImpl.createPojoCallSite(MetaClassImpl.java:3015) 
    at org.codehaus.groovy.runtime.callsite.CallSiteArray.createPojoSite(CallSiteArray.java:116) 
    at org.codehaus.groovy.runtime.callsite.CallSiteArray.createCallSite(CallSiteArray.java:150) 
    at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:42) 
    at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:108) 
    at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:116) 
    at com.jayway.restassured.internal.ResponseParserRegistrar.<init>(ResponseParserRegistrar.groovy:42) 
    at com.jayway.restassured.RestAssured.createTestSpecification(RestAssured.java:1094) 
    at com.jayway.restassured.RestAssured.given(RestAssured.java:746) 
    at com.jayway.restassured.RestAssured.get(RestAssured.java:776) 
    at TestRestAssured.main(TestRestAssured.java:16) 

을, 그루비 1.8.8 , 나머지 나머지는 시스템 라이브러리 경로에로드됩니다. 나는 또한 jdk 1.7을 사용하고있다. 이것은 일종의 환경 문제입니다. 동일한 .jar 파일을 사용하여 동일한 코드를 실행하는 데 문제가없는 동료로서 ...

+0

당신과 당신의 동료는 같은 JDK를 사용하고 있습니까? 이전에 Groovy 버그가 Open JDK에서 실패하고 Sun JDK에서는 실패한 곳을 보았습니다. 공급 업체와 버전을 비교할 수 있습니다. –

+0

줄 번호가 도움이됩니다. 또는'// <-이 줄에서 충돌 함' –

+0

'get'메소드는 어디에 정의되어 있습니까? 추가 도움이 필요하시면 게시하십시오. – bigdado

답변

1

글쎄 getNullPointerException을 반환하는 것으로 보입니다.

at com.jayway.restassured.RestAssured.get(RestAssured.java:776) 

이 메서드 내부에 문제가 발생했습니다.

instructions에 명시된 바와 같이 타사 종속성을 놓친 것 같습니다. 다른 클래스를로드 할 때 오류가 나타나는 것처럼 보입니다.

비 받는다는 사용자

다운로드 안심하고 클래스 경로에 넣어. 또한 타사 종속성을 다운로드하여 클래스 경로에 넣어야 할 수도 있습니다.

+0

: "나머지 모든 보증 종속성은 내 시스템 라이브러리 경로에로드됩니다" –

관련 문제