【问题标题】:Retrofit2 java.lang.NoClassDefFoundError: okhttp3/Call$Factory in JAVARetrofit2 java.lang.NoClassDefFoundError: okhttp3/Call$Factory in JAVA
【发布时间】:2017-08-24 00:04:38
【问题描述】:

我不是在开发 Android 应用程序,
我只是在写一些 JAVA 代码来支持 Imgur API 服务。

public interface ImgurAPI {
    String server = "https://api.imgur.com";
    String BASE64 = "base64";

    @POST("/3/upload")
    void postImage(
            @Header("Authorization") String auth,
            @Query("title") String title,
            @Query("description") String description,
            @Query("type") String type,
            @Body String base64Image,
            Callback<ImageResponse> cb
    );

}

主要:

public static void main(String[] args) {

    try{
        Retrofit retrofit = new Retrofit.Builder()
                .baseUrl(ImgurAPI.server)
                .build();
        ImgurAPI myAPI = retrofit.create(ImgurAPI.class);
        String base64Image = new ImageReader(PATH).getBase64String();
        myAPI.postImage(AUTH, "Hi", "Test", ImgurAPI.BASE64, base64Image, new MyCallBack());

    }catch(Exception err){
        err.printStackTrace();
    }
}

和异常抛出:

    Exception in thread "main" java.lang.NoClassDefFoundError: okhttp3/Call$Factory
    at Main.main(Main.java:14)

Caused by: java.lang.ClassNotFoundException: okhttp3.Call$Factory

我发现了很多 Android 的解决方案。 所以我想知道只有 JAVA 是否可以使用 Retrofit。
谢谢 。

【问题讨论】:

    标签: java rest retrofit2 okhttp3 imgur


    【解决方案1】:

    我解决了, 如果您正在编写 Java(仅 Java), 你下载了 Retrofit2 的 Jar, 它可能不包含 Android Studio 中内置的某些库, 所以你必须手动下载它们。

    1. OkHttp3 OkHttp3 3.0.0 Jar download
    2. 冲尾Okio 1.6.0 Jar download
    3. 改装转换器 gson Retrofit converter gson-2 beta3 Jar download (如果你想转换其他类型的数据,只需在Retrofit下载其他Jars即可)
    4. 格森Gson 2.2.3 Jar download

    导入jar文件就可以了

    确保你得到了它的所有

    【讨论】:

    • 您好,我也遇到了同样的问题。我手动添加了所有 JAR,就像在我的 Android 应用程序中一样(这次我正在服务器上使用 Retrofit 进行项目,在向 Android 应用程序提供信息的端点上)但我得到“java.lang.ClassNotFoundException: okhttp3.Call$Factory”错误。我似乎还没有找到解决它的方法。
    • 链接似乎全部关闭或站点已死
    【解决方案2】:

    如果你在 Java EE 项目中使用 Influxdb-java.jar 时遇到此错误后在寻找解决方案时发现此帖子,则需要以下依赖项:

    解决这个问题很烦人,所以希望它对某人有所帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-12-16
      • 2016-08-30
      • 2018-03-07
      • 2017-06-05
      • 1970-01-01
      • 1970-01-01
      • 2016-12-20
      相关资源
      最近更新 更多