0

我正在编写一个 watson 程序来获取人格特征。但是,我遇到了 jar 文件问题的错误。

import com.ibm.watson.developer_cloud.personality_insights.v3.PersonalityInsights;
import com.ibm.watson.developer_cloud.personality_insights.v3.model.Profile;

public JSONArray getPersonalityTraitsFromWatson(String text) {

    JSONArray retval = null;
    PersonalityInsights service = new PersonalityInsights("2016-10-20", "xxxx", "yyyy");
    Profile response = service.getProfile(text).execute();
    System.out.println("profile: " + response);

    return retval; 
}

第一个问题是 okhttp3。我收到 JavaNetCookieJar 的 classnotfound 错误。我目前正在使用 okhttp3 并且其中缺少 javanetcookiejar。我从 MVNRepository 拿起了 okhttp3。

Exception in thread "main" java.lang.NoClassDefFoundError: okhttp3/JavaNetCookieJar
    at com.ibm.watson.developer_cloud.service.WatsonService.configureHttpClient(WatsonService.java:137)
    at com.ibm.watson.developer_cloud.service.WatsonService.<init>(WatsonService.java:117)
    at com.ibm.watson.developer_cloud.personality_insights.v3.PersonalityInsights.<init>(PersonalityInsights.java:52)
    at com.ibm.watson.developer_cloud.personality_insights.v3.PersonalityInsights.<init>(PersonalityInsights.java:70)
    at com.xyz.social.Watson.getPersonalityTraitsFromWatson(Watson.java:20)
    at com.xyz.Testing.UnitTester.startUnitTest(UnitTester.java:1720)
    at com.xyz.Testing.UnitTester.main(UnitTester.java:1850)
Caused by: java.lang.ClassNotFoundException: okhttp3.JavaNetCookieJar
    at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
    ... 7 more

我尝试使用“org.apache.servicemix.bundles.okhttp-3.2.0_1.jar”和 okhttp3.jar 清除 JavaNetCookieJar 错误但引发 SSLSocketFactory 错误(如下所示)

okhttp3.OkHttpClient$Builder.sslSocketFactory(Ljavax/net/ssl/SSLSocketFactory;Ljavax/net/ssl/X509TrustManager;)

4

1 回答 1

0

发现问题,需要添加okhttp-urlconnection-3.8.1.jar & logging-interceptor-3.8.1.jar。这解决了问题。

于 2017-06-27T15:24:32.067 回答