2017-09-29 13 views
1

私はjar依存関係の問題があり、解決方法はわかりません。eclipseのJar依存関係 - 2つの外部jarの同じクラス

HttpClientBuilderクラスは、参照するライブラリの2つの外部jarにあります。しかし、1つの日食ピックでは、方法が欠落しています。このjarファイルには、その中に依存ライブラリがすべてあり、このhttpclientは古くなっているからだと思います。

HttpClientBuilderクラスの外部Jarを選択する必要がありますか?

Exception in thread "Thread-0" java.lang.NoSuchMethodError: org.apache.http.impl.client.HttpClientBuilder.setSSLHostnameVerifier(Ljavax/net/ssl/HostnameVerifier;)Lorg/apache/http/impl/client/HttpClientBuilder; 
    at org.telegram.telegrambots.bots.DefaultAbsSender.<init>(DefaultAbsSender.java:63) 
    at org.telegram.telegrambots.bots.TelegramLongPollingBot.<init>(TelegramLongPollingBot.java:35) 
    at org.telegram.telegrambots.bots.TelegramLongPollingBot.<init>(TelegramLongPollingBot.java:31) 
    at minerbot.CommandHandler.<init>(CommandHandler.java:9) 
    at minerbot.Main$CommandThread.run(Main.java:97) 
    at java.lang.Thread.run(Unknown Source) 

ありがとうございました!

答えて

0

あなたのプロジェクトがmaven、antなどのソフトウェアプロジェクト管理と理解ツールを使用していない場合は、プロジェクトで必要とされないものを除外して依存関係を管理するのに役立ちます。

基本的には、プロジェクトで不要な依存関係のジャーを除外して、不要な推移的な依存関係を取り除くことができます。

特定のジャーからクラスだけを除外したい場合は、ここに1つのオプションがあります。ここで

Exclude classes from a dependency in Maven

MavenのEclipseプラグインのインストール

https://maven.apache.org/guides/introduction/introduction-to-optional-and-excludes-dependencies.html

<project> 
    ... 
    <dependencies> 
    <dependency> 
     <groupId>sample.ProjectA</groupId> 
     <artifactId>Project-A</artifactId> 
     <version>1.0</version> 
     <scope>compile</scope> 
     <exclusions> 
     <exclusion> <!-- declare the exclusion here --> 
      <groupId>sample.ProjectB</groupId> 
      <artifactId>Project-B</artifactId> 
     </exclusion> 
     </exclusions> 
    </dependency> 
    </dependencies> 
</project> 
...不要な依存関係のjarファイル(Mavenの公式ウェブサイト)を除外する例です。

は、Eclipseの設定を確認してインストールが完了するのを待つ

  • クリックして新しいソフトウェア
  • をインストール:

    • オープンウィンドウ - 設定
    • チェックMavenのは、左側のパネルにリストされているとインストール
    • で設定を確認している場合
    • 既存のプロジェクトをクリックし、右クリックして[構成] - > [Mavenプロジェクトに変換]を選択します
    +0

    いいえ、mavenをインストールしましたが、使い方を理解していません..pom.xmlに追加する必要がある値はif "org.apache.http.impl.client"を外部のjar "telegrambots-3.3-jar-with-dependencies.jar"から除外したい – nycrom

    +0

    他のクラス(telegrambots-3.3-jar-with-dependencies)が必要ですか?そしてそれが過渡的な依存関係ならば、それが引き出された依存関係から完全に除外することができます。そのjarの他のクラスが必要な場合は、このjarをクラスを必要とする他のjarのすぐ下に置いてみてください。 – JRG

    +0

    はい他のクラスはすべて必要です。このorg.apache.http.impl.clientのみ。私は org.apacheを追加しました。httpcomponents HTTPClientの 4.5.3 com.github.pengrad のjava-電報-BOT-API 3.3.0 ので、それが収まるはずです。..今はeclipseがクラスを見つけられないと言っています。私はすでにEclipseで "Update Project"を選択しましたが、それは役に立ちませんでした。 – nycrom

    関連する問題