2016-11-12 8 views
0

2つのモジュールを含むプロジェクトがあります。私のJavaコードを含むJavaモジュール。私のKotlinコードを含むKotlinモジュール。 Kotlinモジュールはjavaモジュールに依存します。つまり、JavaモジュールにはKotlinモジュールを参照するものは何もありません。しかし、Kotlinモジュールは、JavaモジュールのJavaクラスに依存しています。Kotlin 1.0.5にアップグレードした後の奇妙な "未解決の参照:"エラー

このプロジェクト私は6ヶ月ほどオープンしていません。

以前はうまくいきました。それはkotlin 1.somethingだった。 6月の最新情報は何でも。

最新のKotlinバージョンに更新しました。

私のJavaモジュールのJavaクラスの1つは、Kotlinモジュールからもう参照できません。それはクラスのうちの1つだけです.KotlinモジュールはJavaモジュールから他の多くのクラスを参照しています。

私は誰かが何が起こっているか教えてくれることを願っています。この6ヶ月間にKotlinにいくつかの変更がありましたか?

私はJSBotを参照Kotlinモジュール内のすべてのKotlinファイルに取得するメッセージはこれです:

Error:(191, 39) Kotlin: Unresolved reference: JSBot 

カラットファイルでJSBotインポートが正しいです。同じJavaパッケージ内のJavaモジュールの他のクラスも認識され、エラーなしでコンパイルされます。

public abstract class JSBot extends Evaluable implements Name { 
... 
} 

その他の抽象JavaクラスはKotlinモジュールからいえ罰金参照されます

はここ(Javaモジュールで)JSBot.java宣言です。だから私は何が起こっているのか本当に理解できない。これはちょうどこの1つのJavaクラスです。

しかし、以前のKotlinバージョン(v1.0から6月に最新のものまで)では、それはうまくコンパイルされました。私はちょうど今このエラーを取得します。私はコードを変更していない。 Kotlinプラグインに更新されただけです。1.0.5

誰かに何かヒントを教えてもらえますか?私は立ち往生し、ここからどこに行くのか分からない。

1.0.0から1.0.5に私のmaven .pomを更新しましたが、それは役に立たなかった。

+0

JSBotクラスには、コンストラクタパラメータに注釈付きの内部クラスがありますか? – yole

+0

2つの内部クラス 'public final class Orders'があり、内部クラス' protected final class OpenOrders'を持っていますが、いずれもコンストラクタを持っていません。私は '@ Nullable'や' @ NotNull'アノテーションを使って、すべてのメソッドとコンストラクタ(コンストラクタがある場合)にアノテーションを付けます。そして、他の内部クラスは 'public order(@NotNull PlacedOrder placedOrder)'コンストラクタを含んでいる 'public abstract class Order'です - そうです、この2番目の内部クラスは、あなたのようにコンストラクタパラメータの注釈を持つ内部クラスです約 – ycomp

+0

私はこの '@ NotNull'を削除しました。そして、それは' JSBot'の*未解決の参照*エラーなしで今コンパイルします。これは* fix *ですか?将来のkotlinのバージョンにはまだこの問題がありますか? – ycomp

答えて

0

が解決されたと思われます。は、上記コメントに記載されたKotlinリリースで修正されます。この質問を削除しないでください。このコトリンのバグに遭遇した人には役に立ちます。

関連する問題