2016-06-23 6 views
2

HTTPClientを使用した単純なWebServiceテストを作成しようとしています。私はすべての私の瓶がロードされているが、上記のエラーメッセージが表示されます。スレッド "main"の例外java.lang.NoSuchFieldError:INSTANCE

なぜこのエラーメッセージが表示されますか?ここで

コードです:以下

package HTTPClientTest; 

import java.io.IOException; 
import org.apache.http.HttpResponse; 
import org.apache.http.HttpStatus; 
import org.apache.http.client.ClientProtocolException; 
import org.apache.http.client.methods.HttpGet; 
import org.apache.http.client.methods.HttpUriRequest; 
import org.apache.http.impl.client.HttpClientBuilder; 
import org.junit.Assert; 


public class RESTTester { 

    public static void main (String args[]) { 

    String restURL_XML = "http://parabank.parasoft.com/parabank/services/bank/customers/12212/"; 


    try { 

    testStatusCode(restURL_XML); 

    } catch (ClientProtocolException e) { 

    e.printStackTrace(); 
    } catch (IOException e) { 
    e.printStackTrace(); 
    } 
} 


public static void testStatusCode(String restURL) throws ClientProtocolException, IOException { 
    HttpUriRequest request = new HttpGet(restURL); 
    HttpResponse httpResponse = HttpClientBuilder.create().build().execute(request); 
    Assert.assertEquals(httpResponse.getStatusLine().getStatusCode(),HttpStatus.SC_OK); 
    } 

} 

エラースタックトレースがあり、あなたのスタックトレースを分析することにより

Exception in thread "main" java.lang.NoSuchFieldError: INSTANCE 
    at org.apache.http.conn.ssl.SSLConnectionSocketFactory.<clinit>(SSLConnectionSocketFactory.java:144) 
    at org.apache.http.impl.client.HttpClientBuilder.build(HttpClientBuilder.java:966) 
    at HTTPClientTest.RESTTester.testStatusCode(RESTTester.java:37) 
    at HTTPClientTest.RESTTester.main(RESTTester.java:22) 
+0

スタックトレースを私と共有できますか?私は**それなしで**何もできない。 –

+0

@Chuchoo質問にスタックトレースを編集してください。 – Sid

答えて

2

私のプロジェクトでHTTPClientの古いバージョンが複数あるため、上記のエラーが発生しました。以前のバージョンのHTTPClientを削除しましたが、エラーメッセージが表示されなくなりました。

+0

私は同じ理由がありました。 – Antinous

2

、私はあなたのプログラムが良い書かれているが分かりました。 apache HTTP APIが正しくコンパイルされていないようです。パッケージorg.apache.http.impl.clientは、使用しているバージョンと異なるバージョンのorg.apache.http.conn.sslに対してコンパイルされている可能性がありますか?両方のパッケージを最新のバージョンにアップグレードして、再試行してください。 HTTPClientバグトラッカーに報告してください。

関連する問題