ScalaIDEプラグインを備えたEclipseIndigoを持っています。Mavenからリフトプロジェクトをダウンロードしました。正しくビルドされます。Eclipseは、Scalaエディターで表示していると言っています。
ただし、コードがJavaとして扱われるため(「def」という単語など、セミコロンなしでエラーが発生します)、各行でエラーが発生します。プロジェクトをクリーンアップしようとしましたが、エラーが発生します。
ScalaIDEプラグインを備えたEclipseIndigoを持っています。Mavenからリフトプロジェクトをダウンロードしました。正しくビルドされます。Eclipseは、Scalaエディターで表示していると言っています。
ただし、コードがJavaとして扱われるため(「def」という単語など、セミコロンなしでエラーが発生します)、各行でエラーが発生します。プロジェクトをクリーンアップしようとしましたが、エラーが発生します。
私が試すことのいくつか:
1)プロジェクトを右クリックし、[構成]>[ScalaNatureの追加]を選択します。
2)Scalaメニューで、セットアップ診断を実行します...>推奨されるデフォルト設定を使用します
パッケージエクスプローラーを開き、scalaソースを確認します。S
アイコンには(Scalaの場合)またはJ
(Javaの場合)が表示されますか?
が表示されている場合はS
、ScalaNatureが欠落している可能性があります。Luigiが提案したように、Scala Natureを追加して、問題が解決するかどうかを確認してください(プロジェクトを右クリックし、[構成]> [Scala Natureを追加]を選択します)。
それ以外の場合、が表示されている場合J
は、「JDTウィービング」が有効になっていない可能性があります。これは発生しないはずであり、インストールした他のプラグインに依存する可能性があります。
私があなただったら、EclipseからすべてのScala IDEプラグインをアンインストールするだけです(「ScalaIDE for Eclipse」、およびインストールされているプラグインのリストに表示されている場合は「JDT Weaving forScala」)。次に、ScalaIDE2.0.0-RC04を再インストールします。私は知っています、それは理想的な解決策ではありませんが、より多くの情報なしで何が起こっているのかを知るのは難しいです。
それでもうまくいかない場合は、scala-ide-userメーリングリストにメッセージを書いてください。Eclipseインストールにあるプラグインの完全なリストを必ず提供してください。それは私たちが何が起こっているのかを理解するのに役立つかもしれません。
この問題は、既存のJavaプロジェクトをコピーして新しいプロジェクトを開始したり、プロジェクトファイルジェネレーターを使用したりするときに発生する可能性があります。
確認できることの1つは、Java Build Path
内部プロジェクトのプロパティです。Scalaソースフォルダーに。のようなインクルードフィルターがないことを確認してください**/*.java
。それがそうであることを確認する**/*.scala
か、それを削除してください。そうすれば、ソースがscalaプラグインによって検出されるはずです。
それよりも簡単かもしれませんが、ソースファイルの先頭にパッケージ名を書くのを忘れたため、EclipseはそれをScalaファイルとして見ることを怠りました。
sbt-eclipseでのコンパイル/ビルドエラーの問題を解決しました
私は同じ問題に直面していました。プロジェクトにscalaフォルダーが含まれていなかったため、次の手順に従いました。プロジェクト->プロパティ->javaビルドパス->ソース->フォルダーの追加
私は以前にもMavenとEclipseを使用しているときにこの問題を抱えていました-私はScalaの観点で作業し、すべてがうまくいきます、そしてある時点でIndigoはScalaを使用していて私のコードを構築しているという事実を完全に追跡できなくなりますJavaコンパイラを使用します。ビルドパスと構成をいじったり、プロジェクトをクリーンアップしたり、Scalaの性質を有効にしたりしても、問題は解決しないようです。
私がこれまでに思いついた唯一の解決策は、Mavenを使用するときにIntelliJを使用し、SBTを使用してプロジェクトをビルドするときにのみScalaEclipseプラグインを使用することです。Maven POMをSBTプロジェクトに変換してみることができますが、依存関係が変更されるたびにそれを更新する必要があります。HeikoSeebergerのsbt-eclipseプラグインはかなり洗練されています。
同様の問題がありますが、Scala Natureを削除して追加し直すと、問題はありません。今のところこれで問題ありません。
しかし、別の問題があります。
私のJavaクラスは私のScalaクラスを認識しません。ただし、「Ctrl +Click」=Open Declarationを実行すると、適切な場所に移動します。Scalaに依存する私のJavaクラスは、全体的に赤のように見えます。ビルドパスの設定などを確認しましたが、すべて問題ないようです。
私のJavaクラスは私のScalaクラスを認識しません。ただし、「Ctrl +Click」=Open Declarationを実行すると、適切な場所に移動します。Scalaに依存する私のJavaクラスは、全体的に赤のように見えます。ビルドパスの設定などを確認しましたが、すべて問題ないようです。
私も同じ問題を抱えていました。Scalaクラスを正しいパッケージフォルダーに移動すると、機能しました。Scalaはこれを必要としません。しかし、その方法でのみ、JavaエディターがScalaクラスを再構成しました。
私はMavenを使用してjarを生成します。したがって、以下の手順に従います。プロジェクトを右クリック->Maven->プロジェクトの更新->スナップショット/リリースの強制更新のチェック->OK
時々、またはいくつかのバージョンでは、「ScalaNatureの追加」オプションが表示されません。
手動で.projectファイルに追加する必要があります。たとえば、このプロジェクトはscalaとjavaの性質をサポートしているため、.javaをJavaとして扱い、.scalaをScalaとして扱います。
<projectDescription>
<name>myprojectname</name>
<buildSpec>
<buildCommand>
<name>org.scala-ide.sdt.core.scalabuilder</name>
</buildCommand>
</buildSpec>
<natures>
<nature>org.scala-ide.sdt.core.scalanature</nature>
<nature>org.eclipse.jdt.core.javanature</nature>
</natures>
<linkedResources> </linkedResources>
</projectDescription>