web-dev-qa-db-ja.com

Eclipse「このコンパイル単位はJavaプロジェクトのビルドパス上にありません」

Eclipseで動作するオートコンプリートを取得できません。

私はsvnのプロジェクトに取り組んでいます。私はEclipseでプロジェクトをセットアップしました

[ファイル]-> [インポート]-> [プロジェクトとしてチェックアウト]-> [新しいプロジェクトウィザード]。

Enterprise Java Applicationを選択し、ダウンロードしています。そして、メッセージを表示するポップアップダイアログが表示されると予想されるので、代わりにオートコンプリートが機能することを除いて、すべてが正常に動作するようです

このコンパイル単位は、Javaプロジェクトのビルドパス上にありません。

Googleで調べましたが、プロジェクトはJavaプロジェクトでなければならない、と誰もが言います。しかし、ちょっとです!何が問題ですか?

更新

Svnのカタログ構造は次のようになります。

-Project_name
  -application
     -META-INF
       application.xml
       MANIFEST.MF
  +build
  +db
  +deploy
  +dist
  +lib
  +properties
  +script
  -src
     -META-INF
        someother.xml (datasource info)
        persistence.xml
        folder hierarchy with source files (should be package)
  -web
     some folders
          .
          .
     files
       .
       .
     -WEB-INF
        faces-config.xml
        jboss-web.xml
        web.xml
     build_win.xml

ソースファイルフォルダー、application.xml、およびその他の構成xmlファイルの場所をEclipseに指示するにはどうすればよいですか?

78
l245c4l

親プロジェクトの下にマルチモジュールMavenプロジェクトがある場合は、Maven親プロジェクトのファイルを編集していないことを確認してください。

125
redochka

適切にチェックアウトするために自分のプロジェクトの1つを作成したのは

1)プロジェクトをsvnからインポートします

      file-->import-->SVN-Checkout Projects From SVN

2)プロジェクトを見つけて、[名前を付けてチェックアウト]ダイアログで、[新しいプロジェクトウィザードを使用して構成されたプロジェクトとしてチェックアウトする]ラジオボタンが選択されていることを確認します。

3)通常の手順を実行します。

ウィザードはプロジェクトを適切にプルし、Eclipseをセットアップします。

ウィザードを使用せずに、私はすべての地獄が緩むことがわかります.....

お役に立てれば...

17
Lenn Dolling

これは私の.projectファイルに欠けていたものです:

    <projectDescription>
        ...
        <buildSpec>
            <buildCommand>
                <name>org.Eclipse.jdt.core.javabuilder</name>
                <arguments>
                </arguments>
            </buildCommand>
        </buildspec>
        ...
        ...
        ...
        <natures>
            <nature>org.Eclipse.jdt.core.javanature</nature>
            <nature>org.Eclipse.m2e.core.maven2Nature</nature>
        </natures>
        ...
    </projectDescription>
16
Abhinav

私は時々この問題を抱えていますが、それはプロジェクトがJavaプロジェクトとしてマークされていなかったためです。これを変更するには、プロジェクトのプロパティ> Project Facets>に移動し、Javaを選択します。そのプロジェクトを適切に構成する必要があるかもしれませんが、これはおそらく問題の一部です

10
adam

JavaプロジェクトをMavenプロジェクトに変換した後、この問題も発生しました。私は次のように解決しました:

プロジェクトを右クリック-> Project Facets-> Javaをクリックしてから、Applyをクリックします。

5
Erandi

フォルダーに.projectファイルがありましたか?

同じ問題が発生しました。 .projectファイルがないことに気づいたより。

4
yyy

私は非常に多くのコメントから間違ったことを拾っているかもしれませんが、Mavenを使用している場合、通常のコマンドプロンプトビルドとクリーンを実行していますか?

Cmdに移動し、ワークスペース(通常はc:/ workspace)に移動します。次に、「mvn clean install -DskipTests」を実行します

その後、「mvn Eclipse:eclipse Eclipse:clean」を実行します(パイピングについて心配する必要はありません)。

また、プロジェクトにモジュールの依存関係はありますか?

その場合は、[適用]をクリックして依存関係を削除してから、依存関係を再読み込みしてください。これにより、Eclipseがビルドパスと混同される場合があります。

お役に立てれば!

4

別のプロジェクトから.classpathと.projectをコピーし、値を適切に調整しました。

それらのファイルを編集する前にプロジェクトを閉じて、それらが現実(とにかくあなたの現実)を反映していると確信したら、Eclipseでプロジェクトを再度開きます。

ワークスペースが再構築され、それ以降はすべて動作するはずです。

2
Alex
mvn Eclipse:eclipse

私の問題を解決しました

2

-clean起動オプションでEclipseを実行してみてください-ワークスペースのEclipseのメタデータを再構築しようとします。

2
Rami C

私の場合、それはMavenプロジェクトです

eclipseからプロジェクトを削除し、ソースを閉じますEclipseをファイルシステムから削除します

.target/.classpath .project .settings/open Eclipse Again Import Maven Projects

これで問題が解決しました

2
Huub

ここでは、Eclipseでソースフォルダーを作成する手順を示します。

  1. プロジェクトを右クリックして、プロパティに移動します
  2. プロパティダイアログボックスから「Java Build Path」を選択します
  3. [ソース]タブを選択し、[削除]ボタンをクリックしてソースフォルダーを削除しない場合、または[追加]ボタンをクリックしてソースフォルダーを追加しない場合、ソースフォルダーが正しいことを確認します。

プロジェクトにソースフォルダーが表示される順序を制御し、ビルドパスの構成オプションの[エクスポート]タブを使用できます。

1
ams

ソースファイルは、Package Explorerビュー(Window)の下のメニューにある 'package'アイコンのある構造になっている必要がありますビューの表示>パッケージエクスプローラーまたは押す Ctrl+3 次のようにpack)と入力します:

Java project in Eclipse

そうでない場合は、ルートパッケージを含むフォルダー(上記の画像のsrc)を選択し、からソースフォルダーとして使用を選択しますコンテキストメニュー(右クリック)。

1
Fabian Steeg

私がやったことは、svnからプロジェクトをインポートし、ワークスペースからプロジェクトを削除し、ローカルからmavenプロジェクトとしてインポートした後です。次に、設定-> maven-> usersettings-> usersettingsボックスで、Apache mavenフォルダにあるsettings.xmlのパスを指定しました-> conf-> settings.xml

そしてそれは私のために問題を解決しました。

1
Mazeen Muhammed

同じ問題がありました(ただし、Mavenで)。その理由は、エグゼキューターの選択が間違っていたためです。私のプロジェクトでは、Mavenの組み込みインストールでは利用できないグローバル設定を使用していました。外部(ウィンドウ->設定-> Maven->インストール)に変更し、問題を修正しました。

1
laonix

私のために働いたのは、別のプロジェクトから.settings /ディレクトリをコピーすることでした。

0
hausen

ターミナルから「mvn Eclipse:eclipse」を実行します。

0
Puppala Mounika

同じ問題があった。解決策:コンテキストメニュー-> Maven->依存関係管理を有効にする

チェックアウト時に、それが失われた理由がわからない。

0
Thomas

メッセージにあるように、ファイルはプロジェクトのJava Build Pathのどこかにありますか(たとえば、ソースフォルダー)?

0
nitind

メインクラスを含むファイルが.srcフォルダー外にあるため、このエラーが発生していることがわかりました。

0
TheMightyLlama

あなたが初心者の場合(私のように)、解決策は、作業しているファイルの親フォルダーがJavaプロジェクトであることを確認するのと同じくらい簡単かもしれません。

単純にJavaフォルダーを作成し、そのフォルダーにファイルを作成して、それが機能することを期待するというミスを犯しました。このエラーを回避する場合、ファイルはプロジェクトに存在する必要があります。

0
Ty Hitzeman