web-dev-qa-db-ja.com

エディターにはメインタイプが含まれていません

Scala WebサイトのサンプルScalaコードを調べただけですが、実行しようとしたときに迷惑なエラーが発生しました。

コードは次のとおりです。 http://www.scala-lang.org/node/45 。 Eclipseで実行すると、「エディターにはメインタイプが含まれていません」というメッセージが表示され、実行できなくなります。

何をする必要がありますか...つまり、そのファイルを複数のファイルに分割しますか?

88
Helen Neely

EclipseとScalaにはこの問題がたくさんあります。ワークスペースをきれいにしてプロジェクトを再構築すると役立ちます。

Eclipseは、どのファイルを再コンパイルする必要があるかを正しく認識しない場合があります:(

編集:コードはEclipseで正常に実行されます

36
nuriaion

Eclipseで、プロジェクトプロパティ-> Javaビルドパス->ソースにソースフォルダーを必ず追加してください。そうしないと、main()関数がプロジェクトに含まれない場合があります。

87
milkplus

Eclipseの.Javaファイル .srcフォルダーであることを確認する必要があります。私はそれを理解するまで同じ問題を抱えていました。

26
ultra99

より簡単な方法は、プロジェクトを閉じてから再度開くことです。

22
static

作業するフォルダーがビルドパスに追加されていることを確認してください。

right-clickフォルダー-> build Path-> Use as source Folder

ここでmainが見つかるはずです。

18

同じ問題がありました。いろいろなことを試しました。そして、私はそれを知るようになりました

  1. 私の.Javaファイルはリンクされておらず、
  2. それらは「src」フォルダーに置かれていません。

私がしたこと:

プロジェクトプロパティ>> Javaビルドパス>>ソース

  • 「削除」オプションを使用して空だった元の「src」フォルダーを削除しました
  • 「フォルダの追加」オプションを使用して、ソース.Javaファイルを含むソースを追加しました

これでエラーが解決しました。

6
Anand Dhole

Eclipseのアウトラインサイドバーからメイン関数を実行してみることができます。

solution

5
Fei
***

ただ閉じてから再度開く

*** Eclipseでのプロジェクト。リンケージの問題がある場合があります。これで問題が解決しました

4
Mohit Singh

迅速な解決策:

まず、パッケージを除外します。ソースパッケージ>>ビルドパス>>除外を右クリックします

それを元に戻します:ソースパッケージを右クリック>>ビルドパス>>含める

3
rwc

行うべきことは、Javaプロジェクトを作成しますが、このファイルを必ずそのプロジェクトのパッケージファイルに入れてください。そうしないと、同じエラーが発生します。

enter image description here

3
AbsintheSyringe

あなたはあなたのファイルを作成する必要があります

右側を選択すると、ファイル名が表示されます。

その下でsrcフォルダーが見つかります。右クリックして[選択]-> [クラス]オプションを選択します。

あなたのファイルを作成する必要があります

2
vijaya

.Javaファイルがstrパッケージまたは他のパッケージに存在することを確認してください。 main関数を含むJavaファイルがすべてのパッケージ外にある場合、このエラーがスローされます。

2
Sahil Pruthi

同様の問題に直面し、アウトラインビューでメインメソッドを右クリックしてJavaアプリケーションとして実行することでこれを解決しました。

2
Naresh

そのコードは有効です。 scalacを使用して手動でコンパイルしようとしましたか?また、オブジェクトの名前のように、ファイルをすべて「小文字」と呼びましたか?

また、何らかの理由で、Eclipseがメインクラスを「addressbook」ではなく「.addressbook」に設定していることがわかりました。

2

作成したファイルがsrc(source)フォルダー外にある可能性があります。ソースフォルダー外の.Javaファイルから(srcフォルダーにあるファイルから)クラスオブジェクトを呼び出そうとすると、同じエラーが発生します。 .Javaファイルをソースフォルダーにコピーしてからビルドします。エラーはなくなります。

1
Vamsi Tallapudi

コマンドラインから「Eclipse -clean -refresh」を実行します。これにより、他のすべてのソリューションが失敗したときの問題が修正されました。

1
MikeG

私もこの問題を抱えていました。解決策は、EclipseがプロジェクトをJavaプロジェクトとして作成したことを確認することです。新しいJavaプロジェクトを作成し、クラスをsrcフォルダーにコピーします(そして最終的な依存関係をインポートします)。これで問題が解決するはずです。

1
KullDox

同じ問題がありました。他のフォルダにあるsrcパッケージのメインクラスがありました。移動してフォルダを修正して解決しました

1
jacruz

Mavenプロジェクトの場合、Javaファイルがsrc/main/Javaの下に作成されていることを確認してください

取得していない場合は、JREパスを変更し、上記のフォルダー構造にJavaファイルを作成してください

1
user3801543

これは、Javaビルドパスの問題である可能性があります。以下の手順を試してください:

  1. プロジェクトのプロパティに移動
  2. Java Build Pathに移動します
  3. [ソース]タブに移動して、プロジェクトのsrcフォルダーを追加します

これで問題が解決するはずです。

1
AalekhG

正解は次のとおりです。Scalaライブラリは、ビルドパス内のJREライブラリの前にある必要があります。

Java Buildpath> Order and Exportに移動し、Scalaライブラリーを一番上に移動します

1
MGM

(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プロジェクトでも同じことが問題になる可能性があります。

1
user2704136

ソースフォルダーを変更した後もこの問題があります。解決策は、ファイルを編集して保存するだけです。

0
Hunsu

「エディタにメインタイプが含まれていません」というエラーの理由について

エラーが発生した場所: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

0
WantaBeCoder

私にとって、Eclipse 3.6では、この問題はメインメソッドがパブリックでない場合に発生します。私はこのようなメインメソッドを持つことで問題を引き起こしました:

static void main(String[] args) 

Dubuggerはこれを単独で検出できませんでした。 Eclipseがこれを見落としているのはかなり驚いた。

0
djangofan

確認すべきもう1つのこと:ソースファイルに、それが入っているサブディレクトリに対応する正しいパッケージ宣言が含まれていることを確認してください。OPによって言及されたエラーは、パッケージ文がありません。

0
Daniel Ashton

以下の手順に従ってください:

  1. すべての.Javaファイルを他の場所にバックアップします
  2. Javaプロジェクト全体を削除します
  3. ルートを右クリックして[新規]をクリックして、新しいJavaプロジェクトを作成します
  4. すべてのファイルを新しい場所に復元します!!
0
Mani Kandan

最悪の場合-最初からすべてのインポートを使用してプロジェクトをもう一度作成します。私の場合、他のオプションはどれも機能しませんでした。このタイプのエラーは、プロジェクト設定にエラーがあることを示唆しています。私はかつてそれを解決することができましたが、さらなる開発が完了すると、エラーが戻ってきました。最初からすべてを再作成することで、いくつかのリンクを理解し、最適化することができました。今では、正しく機能すると確信しています。

0
Sergiu

私の特定の「Hello World」の場合、この問題の原因は、私のmain()メソッドがScala class内にあったという事実でした。

Scala objectの下にmain()メソッドを配置すると、エラーが消えました。

これは、Scalaの用語でJava objectが静的メンバーとメソッドのみを含むエンティティであるためです。

そのため、ScalaのJavaのpublic static void main()objectの下に配置する必要があります。

(Scala classには内部にstaticを含めることはできません)

0
Vlad.Bachurin

[ファイル] >> [インポート] >> [既存のプロジェクトをワークスペースに保存] >> [アーカイブファイル] >> [参照]を選択し、ファイル>> [完了]を選択します。既に他の方法でインポートされている場合は、削除してその方法で試してください。私はそれを試すまで同じ問題を抱えていました。

0
Mike

「プロジェクトの更新」をお試しください。これを実行すると、Javaアプリケーションとして実行オプションが表示されました。

0
George Santhosh