これはEclipseのkotlinの性質を持つJavaおよびmavenプロジェクトで発生します。コードのこの部分でKotlin + JavaプロジェクトのEclipseでのコンパイルエラーですが、Mavenを使用したプロジェクトビルド
:
val faces = figure.getFaces()
for (polygon in faces) {
//...
Iはfaces
は、上記の2行目に、赤で下線が引かれているEclipseで以下のエラー、得る:
Cannot access class 'Polygon'. Check your module classpath for missing or conflicting dependencies
プロジェクトであるがJavaとKotlinの組み合わせ。 オブジェクトはJavaクラスのインスタンスですが、faces
はPolygon
タイプのセットであり、純粋なKotlin(つまり、別のKotlinプロジェクトのPolygon
はKotlinタイプ)です。
Polygon
であるこのKotlinプロジェクトは実際にMaven依存としてクラスパスにあり、実際にはfigure
がインスタンスであるJavaクラスによって使用されます。
私は正常にmavenでプロジェクトを構築できるので、問題はEclipseにあると思います。それは日食のバグか設定上の問題のようです。
JavaとKotlinが混在しているのは奇妙です。私はJavaでこのプロジェクトを開始し、それを徐々にKotlinに変換することに決めました。これまでのところ、私は多くの問題を抱えていませんでしたが、私はKotlinのツールとサポートがまだ成熟していないことを認識しています。
Kotlinの最新バージョンを使用していますか? Polygonの代わりにPolygonKtを使用するとEclipseはそれを好きですか?それが問題なら、Eclipseの設定を更新して、新バージョンのKotlinを構文チェック/インテリジェンスに使用する必要があります。 –
eclipse用のKotlinプラグインは数ヶ月で更新されていません。多分この弾丸を噛んで、このプロジェクトのIntelliJに変換してください。 – Strelok
プロジェクトのホームディレクトリから始まる 'Polygen'クラスのフルパスを投稿できますか? – guenhter