0
以下のコードを使用して、ヘッダーにユーザーIDとパスワードを使用してJavaスイングデスクトップアプリケーション(jersey Webアプリケーションで実装されています)からlogin apiを呼び出しようとしています。スレッド「AWT-EventQueue-0」の例外java.lang.NoSuchFieldError:DEF_CONTENT_CHARSET
String authString = username + ":" + password;
String authStringEnc = new BASE64Encoder().encode(authString.getBytes());
System.out.println("Base64 encoded auth string: " + authStringEnc);
DefaultHttpClient httpClient = new DefaultHttpClient();
HttpGet getRequest = new HttpGet(FVConstants.loginAPI);
getRequest.addHeader("Authorization", "Basic " + authStringEnc);
HttpResponse response = null;
try {
response = httpClient.execute(getRequest);
if (response.getStatusLine().getStatusCode() != 200) {
throw new RuntimeException("Failed : HTTP error code : "
+ response.getStatusLine().getStatusCode());
}
BufferedReader br = new BufferedReader(new InputStreamReader((response.getEntity().getContent())));
String output;
System.out.println("Output from Server .... \n");
while ((output = br.readLine()) != null) {
System.out.println(output);
}
httpClient.getConnectionManager().shutdown();
} catch (ClientProtocolException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
それは私に述べたように、私はビルドパスからと/.m2/repository/org/apache/から同じライブラリの複数のバージョンを削除しようとしたresponse = httpClient.execute(getRequest);
Exception in thread "AWT-EventQueue-0" java.lang.NoSuchFieldError: DEF_CONTENT_CHARSET
at org.apache.http.impl.client.DefaultHttpClient.setDefaultHttpParams(DefaultHttpClient.java:175)
at org.apache.http.impl.client.DefaultHttpClient.createHttpParams(DefaultHttpClient.java:158)
at org.apache.http.impl.client.AbstractHttpClient.getParams(AbstractHttpClient.java:448)
at org.apache.http.impl.client.AbstractHttpClient.createClientConnectionManager(AbstractHttpClient.java:309)
at org.apache.http.impl.client.AbstractHttpClient.getConnectionManager(AbstractHttpClient.java:466)
at org.apache.http.impl.client.AbstractHttpClient.createHttpContext(AbstractHttpClient.java:286)
at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:851)
at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:805)
at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:784)
at login.Login.callLoginApi(Login.java:67)
at login.Login.actionPerformed(Login.java:101)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2348)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252)
at java.awt.Component.processMouseEvent(Component.java:6533)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3324)
行に以下のエラーできますHttpClient DEF_CONTENT_CHARS、もう一度追加しても、同じエラーが表示されます。 ご協力いただきありがとうございます。
このリンクは(http://stackoverflow.com/questions/18246979/java-lang-nosuchfielderror-def-content-charset?noredirect=1&lq=1)[このリンクを参照してください]あなたを助けることを願っています –
私は試したソリューションと同じリンクを使用しています –