2016-10-07 21 views
-2

私はmavenプロジェクトをコンパイルしようとしています。別のプロジェクト(jarファイル)に依存しています。何らかの理由で、私がコンパイルしようとすると、依存関係を一切使用していないにもかかわらず、依存しているプロジェクトの依存関係に自分のプロジェクトがアクセスできないというような次のエラーが出ます。ここで不要な依存関係依存のコンパイルエラー

はエラーが私は簡単に私はこの問題を解決したいので、それが必要となる理由しかし、私は見ていない、問題を解決するためにその必要な依存関係に依存することができます知っているhttp://hastebin.com/pebolozuxi.sql

[INFO] ------------------------------------------------------------- 
[ERROR] COMPILATION ERROR : 
[INFO] ------------------------------------------------------------- 
[ERROR] /C:/Users/cneth/Desktop/Developing/PrimeMC/PrimeMobWhacker/src/main/java/org/primemc/MobWhackerManager.java:[315,34] cannot access tech.rayline.core.plugin.RedemptivePlugin 
    class file for tech.rayline.core.plugin.RedemptivePlugin not found 
[INFO] 1 error 
[INFO] ------------------------------------------------------------- 
[INFO] ------------------------------------------------------------------------ 
[INFO] BUILD FAILURE 
[INFO] ------------------------------------------------------------------------ 
[INFO] Total time: 5.892 s 
[INFO] Finished at: 2016-10-07T14:56:20+03:00 
[INFO] Final Memory: 25M/298M 
[INFO] ------------------------------------------------------------------------ 
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.5.1:compile (default-compile) on project MobWhacker: Compilation failure 
[ERROR] /C:/Users/cneth/Desktop/Developing/PrimeMC/PrimeMobWhacker/src/main/java/org/primemc/MobWhackerManager.java:[315,34] cannot access tech.rayline.core.plugin.RedemptivePlugin 
[ERROR] class file for tech.rayline.core.plugin.RedemptivePlugin not found 

です可能であれば、その経路をとることなく。

ありがとうございます!必要のない推移dependecyに https://maven.apache.org/guides/introduction/introduction-to-optional-and-excludes-dependencies.html

+3

代わりの人々はあなたが直接その短いスニペットを投稿できるリンクを追従させます。そのメッセージとあなたの非常に短い説明だけではわかりにくいので、コードを投稿することもできます。 – Thomas

+0

ソースにアクセスできますか?このクラスは、ctrl + shift + tとタイプして、パンプリーンプ・エクリプスにRedemptivePluginと入力することで、関連するjarとバージョン – HRgiger

+0

@Thomas Alrightを入力することで、このクラスのtech.rayline.core.plugin.RedemptivePluginを見つけることができます。私は次回です。私はいつもそうしていますが、このエラーは私がここに投稿しようとしたときに読むのが面倒です。 –

答えて

2

これはMavenとは関係ありません。 Javaコンパイラはそのクラスを必要とします。実際には、MobWhackerManager.java:[315,34]がそのクラスを望んでいます。行番号はそこにある。あなたのコードは315行目で、何とかそのクラスを参照しています。

+0

したがって、 'RedemptivePlugin.java'を参照するクラスを参照するには、' RedemptivePlugin.java'のプロジェクトが自分のプロジェクトの依存関係である必要がありますか? –

+0

そのクラスの315のようなコードを見ることなく、私はあなたをさらに並べ替えることができません。しかし、一般的に、フィールドを宣言してメソッドを呼び出すと、コンパイラは.classファイルを参照してコンパイル方法を伝える必要があります。おそらく、その型のオブジェクトを返すものを呼び出します。 – bmargulies

+0

'PrimeSpawnerTiers.getInstance()getSpawnerTracker()getSpawnerMobs()dropLoot(event.getKilledEntity()、(積み重ね - newStacked) \t \t \t \t * getLootMultiplier(データ));。。。' –

0

てみあなたのエラーは、コンパイラがクラスtech.rayline.core.plugin.RedemptivePluginをミスすることを言います。

このクラスのjarをMaven依存関係に追加する必要があるかもしれません。

+0

うまくいきませんでしたが、お返事ありがとうございました –

0

を除く

+0

私の理解ではありますが、私のソースコードはそのプロジェクトから何もインポートしていません。私はちょうどそのクラスを含むプロジェクトに依存する私の依存関係からメソッドを呼び出します。私は、このエラーを解決するために、その依存関係を私自身のものとして追加するつもりですが、これを解決するためのより良い方法があることを期待していました。 –

+0

これはまさにポイントです。プロジェクトで使用されているすべてのクラス、つまり自分が使用しているクラスで使用されているクラスで使用されているクラスをプロジェクトで使用する必要があります。それ以外の場合はコンパイルできません。しかしそれはまさにMavenやGradleのためのものです。すべての推移的な依存関係を自動的に集めます。 –

+0

ああ、大丈夫です。 Thanks –

0

最後のコメントから、RedemptivePluginが入っている瓶が必要なので、そのまま保管してください。助けることができるように、最悪の場合には、正しいバージョンを使用して手動でダウンロードし、正しい道であなたの.m2に

以前answear
ジュストをそれを置く:
はあなたの必要の有無を確認しましたあなたの中の瓶.m2
プロジェクトの完全な依存関係をチェックして、tech.rayline.core.plugin.RedemptivePluginクラスを含むjarファイルが必要ないことを確認しましたか?

あなたはそれを確信している場合は、試してみてください。

<dependencies> 
    <dependency> 
     <groupId>The Project Jar That Links You To RedemptivePlugin Jar</groupId> 
     <artifactId>Project</artifactId> 
     <version>TheVersion</version> 
     <exclusions> 
     <exclusion> 
      <groupId>The Jar containing RedemptivePlugin</groupId> 
      <artifactId>theJar</artifactId> 
     </exclusion> 
     </exclusions> 
    </dependency> 
    </dependencies> 
+0

最後のコメントから私はあなたがそれを保持する必要がありますので、RedemptivePluginを含む瓶が必要であることを理解しています。最悪の場合は、適切なバージョンで手作業でダウンロードし、正しいパスを使用して.m2に入れてください。 – lyy

+1

私が実際に依存するjarファイルは、RedemptivePluginのjarファイル(長い依存するチェーンのビットですが、理解できる)。 RedemptivePluginのjarファイルに直接依存しない方法がありました。私は自分のプロジェクトで直接使用しないためです。しかし、私は直接私がそれを使用していない場合でも私のbuildpathに必要と推測します。 –