2016-06-16 10 views
0

私はJavaでSpigot/Bukkit(Minecraft)用のプラグインを作成していますが、この問題を私の人生の間に解決する方法を見つけることはできません。私は他の言語でたくさんのプログラミングを行ってきましたが、これはjavaでのプログラミングの最初の試みです。私は数多くのGoogle検索を行い、数十ページを見ましたが、すべてはすでに私が試したことをすると言いました。java.lang.NoClassDefFoundError:com/mongodb/XXXXXX修正できません! (Using:MongoDB Java Driver、Spigot)

私はEclipseを使用していて、プロジェクトをmavenプロジェクトとの間で変換して、mongo javaドライバをインストールするさまざまなバリエーションを試しています。私が試した:
- 追加の依存/ sの
- 外部ジャー
を追加]> [プロジェクト - >プロパティ - > JavaはPath-を構築使用してビルドパスに追加するには - 私は上記
の両方の組み合わせを行ってきました - 私はmongodb-driver、mongodb-driver-coreとbsonを一緒に使用してみました。mongodb-java-driver(これは自分で動作するはずです)
- mongodb-java-ドライバ
- 私は多くの異なるバージョンのドライバを使用しようとしました。

私が次のエラーを取得する私はジャーに私のプラグインをエクスポートするときに、私は何をすべきかは問題で、私のインローサーバー上でそれを実行しようとしません:

MongoClientURIを置き換えることができる
java.lang.NoClassDefFoundError: com/mongodb/MongoClientURI 

私のコードで使用するmongoクラス。ドライバを正しく使用していないのですが、何か不足していますか?どうしたの?

答えて

1

私は最後に自分の問題を解決しました。スピゴットは実行時にスピゴットプラグイン以外のジャーファイルを認識しないことが分かります。シェーディングは私の問題を解決しましたが、代わりに私もこれを行いました:

  1. プロジェクトディレクトリ内にMANIFEST.MFというファイルが作成されました。

    マニフェスト・バージョン:1.0
    のClass-Path:

  2. 追加されたファイルに次のlibsを/モンゴ-javaのドライバ-3.2.2.jar
    作成したバイ:1.7.0_06(オラクルCorporation)

  3. プラグインをエクスポートする最後のステップで、「既存のマニフェストをワークスペースから使用する」を選択しました。

これは、ランタイムスピゴットでそれのライブラリにプラグイン{場所} /libs/mongo-java-driver-3.2.2.jarを含むであろうことを意味します。

私の解決策はここにあります: https://www.spigotmc.org/threads/solved-mongodb-help.35922/

関連する問題