Scala WebサイトのサンプルScalaコードを調べただけですが、実行しようとしたときに迷惑なエラーが発生しました。
コードは次のとおりです。 http://www.scala-lang.org/node/45 。 Eclipseで実行すると、「エディターにはメインタイプが含まれていません」というメッセージが表示され、実行できなくなります。
何をする必要がありますか...つまり、そのファイルを複数のファイルに分割しますか?
EclipseとScalaにはこの問題がたくさんあります。ワークスペースをきれいにしてプロジェクトを再構築すると役立ちます。
Eclipseは、どのファイルを再コンパイルする必要があるかを正しく認識しない場合があります:(
編集:コードはEclipseで正常に実行されます
Eclipseで、プロジェクトプロパティ-> Javaビルドパス->ソースにソースフォルダーを必ず追加してください。そうしないと、main()関数がプロジェクトに含まれない場合があります。
Eclipseの.Javaファイルが .srcフォルダーであることを確認する必要があります。私はそれを理解するまで同じ問題を抱えていました。
より簡単な方法は、プロジェクトを閉じてから再度開くことです。
作業するフォルダーがビルドパスに追加されていることを確認してください。
right-click
フォルダー-> build Path
-> Use as source Folder
ここでmain
が見つかるはずです。
同じ問題がありました。いろいろなことを試しました。そして、私はそれを知るようになりました
私がしたこと:
プロジェクトプロパティ>> Javaビルドパス>>ソース
これでエラーが解決しました。
Eclipseのアウトラインサイドバーからメイン関数を実行してみることができます。
***
ただ閉じてから再度開く
*** Eclipseでのプロジェクト。リンケージの問題がある場合があります。これで問題が解決しました
迅速な解決策:
まず、パッケージを除外します。ソースパッケージ>>ビルドパス>>除外を右クリックします
それを元に戻します:ソースパッケージを右クリック>>ビルドパス>>含める
行うべきことは、Javaプロジェクトを作成しますが、このファイルを必ずそのプロジェクトのパッケージファイルに入れてください。そうしないと、同じエラーが発生します。
あなたはあなたのファイルを作成する必要があります
右側を選択すると、ファイル名が表示されます。
その下でsrcフォルダーが見つかります。右クリックして[選択]-> [クラス]オプションを選択します。
あなたのファイルを作成する必要があります
.Javaファイルがstrパッケージまたは他のパッケージに存在することを確認してください。 main関数を含むJavaファイルがすべてのパッケージ外にある場合、このエラーがスローされます。
同様の問題に直面し、アウトラインビューでメインメソッドを右クリックしてJavaアプリケーションとして実行することでこれを解決しました。
そのコードは有効です。 scalacを使用して手動でコンパイルしようとしましたか?また、オブジェクトの名前のように、ファイルをすべて「小文字」と呼びましたか?
また、何らかの理由で、Eclipseがメインクラスを「addressbook」ではなく「.addressbook」に設定していることがわかりました。
作成したファイルがsrc(source)フォルダー外にある可能性があります。ソースフォルダー外の.Javaファイルから(srcフォルダーにあるファイルから)クラスオブジェクトを呼び出そうとすると、同じエラーが発生します。 .Javaファイルをソースフォルダーにコピーしてからビルドします。エラーはなくなります。
コマンドラインから「Eclipse -clean -refresh」を実行します。これにより、他のすべてのソリューションが失敗したときの問題が修正されました。
私もこの問題を抱えていました。解決策は、EclipseがプロジェクトをJavaプロジェクトとして作成したことを確認することです。新しいJavaプロジェクトを作成し、クラスをsrcフォルダーにコピーします(そして最終的な依存関係をインポートします)。これで問題が解決するはずです。
同じ問題がありました。他のフォルダにあるsrcパッケージのメインクラスがありました。移動してフォルダを修正して解決しました
Mavenプロジェクトの場合、Javaファイルがsrc/main/Javaの下に作成されていることを確認してください
取得していない場合は、JREパスを変更し、上記のフォルダー構造にJavaファイルを作成してください
これは、Javaビルドパスの問題である可能性があります。以下の手順を試してください:
これで問題が解決するはずです。
正解は次のとおりです。Scalaライブラリは、ビルドパス内のJREライブラリの前にある必要があります。
Java Buildpath> Order and Exportに移動し、Scalaライブラリーを一番上に移動します
(Eclipse Heliosの下で)ファイルシステムからインポートしたJavaプロジェクトでこの問題が発生しました。ヒントを次に示します。「bin」ディレクトリが表示されないため、srcコードはまったくコンパイルされていないようです。
Javaプロジェクトを最初から作成し(ウィザードを使用)、非稼働プロジェクトと稼働プロジェクトの.project
ファイルを比較する必要がありました。
「エディターにはメインタイプが含まれていません」というプロジェクトは、.projectファイルで「buildSpec」としてこれを持ちました。
<buildSpec>
</buildSpec>
しかし、作業中のプロジェクトには「buildSpec」としてこれがありました。
<buildSpec>
<buildCommand>
<name>org.Eclipse.jdt.core.javabuilder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
これをコピーし、インポートしたプロジェクトが機能しました。
私の答えはJavaに対するものであることは知っていますが、Scalaプロジェクトでも同じことが問題になる可能性があります。
ソースフォルダーを変更した後もこの問題があります。解決策は、ファイルを編集して保存するだけです。
「エディタにメインタイプが含まれていません」というエラーの理由について
エラーが発生した場所:Eclipse Neon
オペレーティングシステム:Windows 10 Pro
サムドライブからソースフォルダーをコピーし、Eclipse_Projects.metadataフォルダーを除外する場合。
新規インストール以外に、(Thrumb-drive)F:Eclipse_Projects.metadata.pluginsからのファイルを必ずマージする必要があります。
これらのプラグインは、クラスの作成時にSDKから取得したライブラリコードの断片です。私はすべて、あなたがファイルにjavax.swing。*; -----をインポートすることに依存しています。転送するため、フォルダーに既に存在するプラグインのスキップ機能を受け入れながら、単純なコピーと貼り付けで手動で------ Eclipse_Projects.metadata.plugins ------をマージしてください。
Windows 10の場合:ファイル階層の同様のパターンに従って作業フォルダーを見つけることができます。
C:Users> Mikes Laptop> workspace> .metadata> .plugins <--- merge plugins here
私にとって、Eclipse 3.6では、この問題はメインメソッドがパブリックでない場合に発生します。私はこのようなメインメソッドを持つことで問題を引き起こしました:
static void main(String[] args)
Dubuggerはこれを単独で検出できませんでした。 Eclipseがこれを見落としているのはかなり驚いた。
確認すべきもう1つのこと:ソースファイルに、それが入っているサブディレクトリに対応する正しいパッケージ宣言が含まれていることを確認してください。OPによって言及されたエラーは、パッケージ文がありません。
以下の手順に従ってください:
最悪の場合-最初からすべてのインポートを使用してプロジェクトをもう一度作成します。私の場合、他のオプションはどれも機能しませんでした。このタイプのエラーは、プロジェクト設定にエラーがあることを示唆しています。私はかつてそれを解決することができましたが、さらなる開発が完了すると、エラーが戻ってきました。最初からすべてを再作成することで、いくつかのリンクを理解し、最適化することができました。今では、正しく機能すると確信しています。
私の特定の「Hello World」の場合、この問題の原因は、私のmain()
メソッドがScala class
内にあったという事実でした。
Scala object
の下にmain()
メソッドを配置すると、エラーが消えました。
これは、Scalaの用語でJava object
が静的メンバーとメソッドのみを含むエンティティであるためです。
そのため、ScalaのJavaのpublic static void main()
をobject
の下に配置する必要があります。
(Scala class
には内部にstaticを含めることはできません)
[ファイル] >> [インポート] >> [既存のプロジェクトをワークスペースに保存] >> [アーカイブファイル] >> [参照]を選択し、ファイル>> [完了]を選択します。既に他の方法でインポートされている場合は、削除してその方法で試してください。私はそれを試すまで同じ問題を抱えていました。
「プロジェクトの更新」をお試しください。これを実行すると、Javaアプリケーションとして実行オプションが表示されました。