Как вызвать веб-сервис с помощью будильника

Я новичок в Будьте уверены, и у меня проблемы с его использованием для запуска базовой программы. Я только что создал проект Java и добавил необходимые jar-файлы. Вот мой простой код:

import com.jayway.restassured.RestAssured;
import com.jayway.restassured.RestAssured.*;
import com.jayway.restassured.matcher.RestAssuredMatchers.*;
import org.hamcrest.Matchers.*;

public class RestServiceTest 
{

    public static void main(String args[]) throws Exception
    {
//        RestAssured.baseURI="http://restcountries.eu/rest/v1/";

          String str=RestAssured.get("http://restcountries.eu/rest/v1/name/Norway").asString();
          System.out.println(str);


    }
}

Я также добавил файл pom.xml, чтобы добавить следующие зависимости.

<dependency>
  <groupId>com.sun.jersey.jersey-test-framework</groupId>
  <artifactId>jersey-test-framework-core</artifactId>
  <version>1.9</version>
  <scope>test</scope>
</dependency>
<dependency>
  <groupId>com.sun.jersey.jersey-test-framework</groupId>
  <artifactId>jersey-test-framework-external</artifactId>
  <version>1.9</version>
</dependency>

Я получаю исключение ниже, когда я запустил приведенный выше код:

Exception in thread "main" java.lang.NoClassDefFoundError: groovyx/net/http/HTTPBuilder
    at java.lang.Class.getDeclaredMethods0(Native Method)
    at java.lang.Class.privateGetDeclaredMethods(Unknown Source)
    at java.lang.Class.privateGetPublicMethods(Unknown Source)
    at java.lang.Class.getMethods(Unknown Source)
    at org.codehaus.groovy.reflection.stdclasses.CachedSAMClass.getSAMMethod(CachedSAMClass.java:164)
    at org.codehaus.groovy.reflection.ClassInfo.isSAM(ClassInfo.java:359)
    at org.codehaus.groovy.reflection.ClassInfo.createCachedClass(ClassInfo.java:349)
    at org.codehaus.groovy.reflection.ClassInfo.access$700(ClassInfo.java:41)
    at org.codehaus.groovy.reflection.ClassInfo$LazyCachedClassRef.initValue(ClassInfo.java:497)
    at org.codehaus.groovy.reflection.ClassInfo$LazyCachedClassRef.initValue(ClassInfo.java:488)
    at org.codehaus.groovy.util.LazyReference.getLocked(LazyReference.java:49)
    at org.codehaus.groovy.util.LazyReference.get(LazyReference.java:36)
    at org.codehaus.groovy.reflection.ClassInfo.getCachedClass(ClassInfo.java:111)
    at org.codehaus.groovy.reflection.ReflectionCache.getCachedClass(ReflectionCache.java:110)
    at org.codehaus.groovy.reflection.CachedClass$8.initValue(CachedClass.java:209)
    at org.codehaus.groovy.reflection.CachedClass$8.initValue(CachedClass.java:200)
    at org.codehaus.groovy.util.LazyReference.getLocked(LazyReference.java:49)
    at org.codehaus.groovy.util.LazyReference.get(LazyReference.java:36)
    at org.codehaus.groovy.reflection.CachedClass.getInterfaces(CachedClass.java:252)
    at org.codehaus.groovy.reflection.CachedClass.<init>(CachedClass.java:238)
    at org.codehaus.groovy.reflection.ClassInfo.createCachedClass(ClassInfo.java:352)
    at org.codehaus.groovy.reflection.ClassInfo.access$700(ClassInfo.java:41)
    at org.codehaus.groovy.reflection.ClassInfo$LazyCachedClassRef.initValue(ClassInfo.java:497)
    at org.codehaus.groovy.reflection.ClassInfo$LazyCachedClassRef.initValue(ClassInfo.java:488)
    at org.codehaus.groovy.util.LazyReference.getLocked(LazyReference.java:49)
    at org.codehaus.groovy.util.LazyReference.get(LazyReference.java:36)
    at org.codehaus.groovy.reflection.ClassInfo.getCachedClass(ClassInfo.java:111)
    at org.codehaus.groovy.reflection.ReflectionCache.getCachedClass(ReflectionCache.java:110)
    at groovy.lang.MetaClassImpl.<init>(MetaClassImpl.java:180)
    at groovy.lang.MetaClassImpl.<init>(MetaClassImpl.java:216)
    at groovy.lang.MetaClassImpl.<init>(MetaClassImpl.java:228)
    at groovy.lang.MetaClassRegistry$MetaClassCreationHandle.createNormalMetaClass(MetaClassRegistry.java:171)
    at groovy.lang.MetaClassRegistry$MetaClassCreationHandle.createWithCustomLookup(MetaClassRegistry.java:161)
    at groovy.lang.MetaClassRegistry$MetaClassCreationHandle.create(MetaClassRegistry.java:144)
    at org.codehaus.groovy.reflection.ClassInfo.getMetaClassUnderLock(ClassInfo.java:253)
    at org.codehaus.groovy.reflection.ClassInfo.getMetaClass(ClassInfo.java:285)
    at org.codehaus.groovy.runtime.metaclass.MetaClassRegistryImpl.getMetaClass(MetaClassRegistryImpl.java:257)
    at org.codehaus.groovy.runtime.InvokerHelper.getMetaClass(InvokerHelper.java:875)
    at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.initMetaClass(ScriptBytecodeAdapter.java:825)
    at com.jayway.restassured.authentication.NoAuthScheme.$getStaticMetaClass(NoAuthScheme.groovy)
    at com.jayway.restassured.authentication.NoAuthScheme.<init>(NoAuthScheme.groovy)
    at com.jayway.restassured.RestAssured.<clinit>(RestAssured.java:317)
    at RestServiceTest.main(RestServiceTest.java:16)
Caused by: java.lang.ClassNotFoundException: groovyx.net.http.HTTPBuilder
    at java.net.URLClassLoader$1.run(Unknown Source)
    at java.net.URLClassLoader$1.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    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)
    ... 43 more

Может ли кто-нибудь помочь мне создать проект maven или просто java-проект и добавить файл pom.xml?

Я уже добавил maven в переменные окружения.


person Uday    schedule 31.08.2015    source источник
comment
добавьте зависимость для rest-assured и httpclient вместе с вашими зависимостями, как было предложено в моем ответе, и вы сможете запустить класс и получить результат.   -  person Dipali Vasani    schedule 31.08.2015


Ответы (2)


вам нужно создать проект maven и добавить зависимости в файл pom.xml и построить проект maven.

другие зависимости, которые вам нужно добавить:

<dependency>
    <groupId>com.jayway.restassured</groupId>
    <artifactId>rest-assured</artifactId>
    <version>2.5.0</version>
</dependency>
<dependency>
    <groupId>org.apache.httpcomponents</groupId>
    <artifactId>httpclient</artifactId>
    <version>4.5</version>
</dependency>
person Dipali Vasani    schedule 31.08.2015
comment
Привет, дипали, у меня проблемы с настройкой, так как я новичок в мире Java, и даже я никогда не работал над Maven. Пока что я загрузил, maven настроил maven env.s, я установил плагины maven для Eclipse. Не могли бы вы помочь мне с этого момента запустить только одну строчку кода? - person Uday; 31.08.2015
comment
Взгляните на это: mkyong.com / maven / how-to-create-a-java-project-with-maven. - person Dipali Vasani; 31.08.2015
comment
Дипали, я никогда не работал над maven, я исследовал maven и создал простой проект maven и добавил эту зависимость ‹dependency› ‹groupId› com.jayway.restassured ‹/groupId› ‹artifactId› rest-assured ‹/artifactId› ‹version› 2.5.0 ‹/version› ‹scope› test ‹/scope› ‹/dependency› и запустил две приведенные выше строки кода. Вот и все. Сейчас все работает. Просто оставьте здесь, чтобы любой, кто будет ссылаться на него позже, может быть полезен. - person Uday; 01.09.2015

Проблема заключается в том, что вам не хватает HTTP-Builder для Groovy.

Если вы уже используете Maven, попробуйте добавить эти строки в раздел «зависимости» вашего Maven pom.xml:

http://mvnrepository.com/artifact/org.codehaus.groovy.modules.http-builder/http-builder/0.6.

<dependency>
    <groupId>org.codehaus.groovy.modules.http-builder</groupId>
    <artifactId>http-builder</artifactId>
    <version>0.6</version>
</dependency>

В противном случае загрузите .jar (та же ссылка) и добавьте его в путь к классу вашего проекта.

См. Также HTTP-Builder Wiki:

https://github.com/jgritman/httpbuilder/wiki

person paulsm4    schedule 31.08.2015
comment
Я включил банку и получил исключение ниже: - person Uday; 31.08.2015