Playframework 2.0 从PlayFramework2.0Java调用Twillio API时出现的奇怪问题

Playframework 2.0 从PlayFramework2.0Java调用Twillio API时出现的奇怪问题,playframework-2.0,playframework-2.1,twilio,Playframework 2.0,Playframework 2.1,Twilio,我正在尝试使用TwilioJavaAPI进行调用。下面是代码 public static Result call() { Logger.debug("calling the requested number"); Form<User> form = userForm.bindFromRequest(); User user = form.get(); Logger.debug("Information submitt

我正在尝试使用TwilioJavaAPI进行调用。下面是代码

public static Result call() {
        Logger.debug("calling the requested number");

        Form<User> form = userForm.bindFromRequest();
        User user = form.get();

        Logger.debug("Information submitted " + user.toString());

         /* Instantiate a new Twilio Rest Client */
        TwilioRestClient client = new TwilioRestClient(ACCOUNTSID, AUTHTOKEN);

        // Get the account and call factory class
        Account acct = client.getAccount();
        CallFactory callFactory = acct.getCallFactory();

        //build map of post parameters
        Map<String,String> params = new HashMap<String,String>();
        url = url + user.getCalleeNumber();
        Logger.debug("url is " + url);

        params.put("From", "+18054094292");
        params.put("To", user.getCallerNumber());
        params.put("Url", url);

        try {
            // Make a phone call  ( This makes a POST request to the Calls resource)
            callFactory.create(params);
        } catch (TwilioRestException e) {
            e.printStackTrace();
        }

        return ok("");
    }
公共静态结果调用(){
debug(“调用请求的号码”);
Form Form=userForm.bindFromRequest();
User=form.get();
Logger.debug(“提交的信息”+user.toString());
/*实例化一个新的Twilio Rest客户端*/
TwilioRestClient=新的TwilioRestClient(ACCOUNTSID,AUTHTOKEN);
//获取帐户并调用工厂类
Account acct=client.getAccount();
CallFactory CallFactory=acct.getCallFactory();
//构建post参数图
Map params=新的HashMap();
url=url+user.getCalleeNumber();
调试(“url为”+url);
参数put(“从”、“+18054094292”);
参数put(“To”,user.getCallerNumber());
参数put(“Url”,Url);
试一试{
//拨打电话(向呼叫资源发出POST请求)
callFactory.create(参数);
}捕捉(斜纹例外e){
e、 printStackTrace();
}
返回ok(“”);
}
因此,如果我使用play“run 8081”或play“start 8081”在dev或prod模式下运行它,代码就会工作。但是当我准备应用程序并通过nohup运行它时,我得到了以下错误。猜猜为什么会这样。堆栈跟踪在下面

play.api.Application$$anon$1: Execution exception[[RuntimeException: java.lang.NoSuchMethodError: org.apache.http.impl.conn.tsccm.ThreadSafeClientConnManager: method <init>()V not found]]
        at play.api.Application$class.handleError(Application.scala:289) ~[play_2.10.jar:2.1.0]
        at play.api.DefaultApplication.handleError(Application.scala:383) [play_2.10.jar:2.1.0]
        at play.core.server.netty.PlayDefaultUpstreamHandler$$anon$2$$anonfun$handle$1.apply(PlayDefaultUpstreamHandler.scala:132) [play_2.10.jar:2.1.0]
        at play.core.server.netty.PlayDefaultUpstreamHandler$$anon$2$$anonfun$handle$1.apply(PlayDefaultUpstreamHandler.scala:128) [play_2.10.jar:2.1.0]
        at play.api.libs.concurrent.PlayPromise$$anonfun$extend1$1.apply(Promise.scala:113) [play_2.10.jar:2.1.0]
        at play.api.libs.concurrent.PlayPromise$$anonfun$extend1$1.apply(Promise.scala:113) [play_2.10.jar:2.1.0]
java.lang.RuntimeException: java.lang.NoSuchMethodError: org.apache.http.impl.conn.tsccm.ThreadSafeClientConnManager: method <init>()V not found
        at play.libs.F$Promise$6.apply(F.java:401) ~[play_2.10.jar:2.1.0]
        at scala.concurrent.Future$$anonfun$map$1.liftedTree2$1(Future.scala:253) ~[scala-library.jar:na]
        at scala.concurrent.Future$$anonfun$map$1.apply(Future.scala:249) ~[scala-library.jar:na]
        at scala.concurrent.Future$$anonfun$map$1.apply(Future.scala:249) ~[scala-library.jar:na]
        at scala.concurrent.impl.CallbackRunnable.run(Promise.scala:29) ~[scala-library.jar:na]
        at akka.dispatch.BatchingExecutor$Batch$$anonfun$run$1.liftedTree1$1(BatchingExecutor.scala:67) ~[akka-actor_2.10.jar:na]
Caused by: java.lang.NoSuchMethodError: org.apache.http.impl.conn.tsccm.ThreadSafeClientConnManager: method <init>()V not found
        at com.twilio.sdk.TwilioRestClient.<init>(TwilioRestClient.java:139) ~[twilio-java-sdk-3.3.14-jar-with-dependencies.jar:na]
        at com.twilio.sdk.TwilioRestClient.<init>(TwilioRestClient.java:110) ~[twilio-java-sdk-3.3.14-jar-with-dependencies.jar:na]
        at controllers.Application.call(Application.java:42) ~[twilio-test-1_2.10-1.0-SNAPSHOT.jar:1.0-SNAPSHOT]
        at Routes$$anonfun$routes$1$$anonfun$applyOrElse$2$$anonfun$apply$2.apply(routes_routing.scala:69) ~[twilio-test-1_2.10-1.0-SNAPSHOT.jar:na]
        at Routes$$anonfun$routes$1$$anonfun$applyOrElse$2$$anonfun$apply$2.apply(routes_routing.scala:69) ~[twilio-test-1_2.10-1.0-SNAPSHOT.jar:na]
        at play.core.Router$HandlerInvoker$$anon$6$$anon$2.invocation(Router.scala:141) ~[play_2.10.jar:2.1.0]
play.api.Application$$anon$1:执行异常[[RuntimeException:java.lang.NoSuchMethodError:org.apache.http.impl.conn.tsccm.ThreadSafeClientConnManager:method()未找到]]
在play.api.Application$class.handleError(Application.scala:289)~[play_2.10.jar:2.1.0]
在play.api.DefaultApplication.handleError(Application.scala:383)[play_2.10.jar:2.1.0]
在play.core.server.netty.PlayDefaultUpstreamHandler$$anon$2$$anonfun$handle$1.apply(PlayDefaultUpstreamHandler.scala:132)[play_2.10.jar:2.1.0]
在play.core.server.netty.PlayDefaultUpstreamHandler$$anon$2$$anonfun$handle$1.apply(PlayDefaultUpstreamHandler.scala:128)[play_2.10.jar:2.1.0]
在play.api.libs.concurrent.PlayPromise$$anonfun$extend1$1.apply(Promise.scala:113)[play_2.10.jar:2.1.0]
在play.api.libs.concurrent.PlayPromise$$anonfun$extend1$1.apply(Promise.scala:113)[play_2.10.jar:2.1.0]
java.lang.RuntimeException:java.lang.NoSuchMethodError:org.apache.http.impl.conn.tsccm.ThreadSafeClientConnManager:method()未找到
在play.libs.F$Promise$6.apply(F.java:401)~[play_2.10.jar:2.1.0]
在scala.concurrent.Future$$anonfun$map$1.liftedTree2$1(Future.scala:253)~[scala library.jar:na]
在scala.concurrent.Future$$anonfun$map$1.apply(Future.scala:249)~[scala library.jar:na]
在scala.concurrent.Future$$anonfun$map$1.apply(Future.scala:249)~[scala library.jar:na]
在scala.concurrent.impl.CallbackRunnable.run(Promise.scala:29)~[scala library.jar:na]
在akka.dispatch.BatchingExecutor$Batch$$anonfun$run$1.liftedTree1$1(BatchingExecutor.scala:67)~[akka-actor_2.10.jar:na]
原因:java.lang.NoSuchMethodError:org.apache.http.impl.conn.tsccm.ThreadSafeClientConnManager:未找到方法()V
在com.twilio.sdk.TwilioRestClient.(TwilioRestClient.java:139)~[twilio-java-sdk-3.3.14-jar-with-dependencies.jar:na]
在com.twilio.sdk.TwilioRestClient.(TwilioRestClient.java:110)~[twilio-java-sdk-3.3.14-jar-with-dependencies.jar:na]
在controllers.Application.call(Application.java:42)~[twilio-test-1_2.10-1.0-SNAPSHOT.jar:1.0-SNAPSHOT]
在路由$$anonfun$Routes$1$$anonfun$applyOrElse$2$$anonfun$apply$2.apply(Routes\u routing.scala:69)~[twilio-test-1\u 2.10-1.0-SNAPSHOT.jar:na]
在路由$$anonfun$Routes$1$$anonfun$applyOrElse$2$$anonfun$apply$2.apply(Routes\u routing.scala:69)~[twilio-test-1\u 2.10-1.0-SNAPSHOT.jar:na]
在play.core.Router$HandlerInvoker$$anon$6$$anon$2.invocation(Router.scala:141)~[play_2.10.jar:2.1.0]
来自评论:


这里的瑞奇。万一有人被困在这里,我们会 一篇关于如何开始正确配置依赖项的博客文章已经发布 对我来说也有点棘手


您需要开始使用。

类路径中可能有两个不同版本的
httpclient
lib。您可以使用Play console中的
dependencies
goal检查它,并查找重复项。谢谢,这可能就是问题所在。我在播放应用程序sbt构建文件中添加了这个库,现在它似乎可以工作了,谢谢…这里是Twilio的Ricky。万一有人被困在这里,我们会在上面写一篇博文。提前正确配置依赖项对我来说也有点棘手。