web-dev-qa-db-ja.com

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

ctrl+spaceを使用しようとすると、次のエラーが表示されます。

This compilation unit is not on the build path of a Java project.

同様のトピックがありますが、私の作業環境はEclipseであり、Gitからプロジェクトを取得し(一般プロジェクトとしてプロジェクトをインポートします)、Apache Antを使用します。誰も私を助けることができますか?

プロジェクトを一般プロジェクトとしてインポートしたため、Javaという性質がなく、それが問題です。

ワークスペースの.projectファイルに以下の行を追加して更新します。

<natures>
      <nature>org.Eclipse.jdt.core.javanature</nature>
</natures>
47

プロジェクト->右クリック->プロパティの選択->プロジェクトファセット-> Java使用しているJDKバージョンのバージョンを変更します。

8
Shaleen Agarwal

Mavenプロジェクトの場合は、再インポートすると役立つ場合があります。

  1. Project Explorerでプロジェクトを右クリックし、Deleteを選択します。
  2. ファイル>インポート...> Maven>既存のMavenプロジェクト>次へ>ルートディレクトリ>ディスクからプロジェクトを参照します。

問題が解決することを願っています。

7
kumar

Loganathan Mohanrajのソリューションに代わる別の方法(事実上同じことですが、GUIから):

  1. プロジェクトを右クリックします
  2. 「プロパティ」に移動します
  3. 「Project Natures」を選択します
  4. 「追加」をクリックします
  5. 「Java」を選択します
  6. 「適用して閉じる」をクリックします
7
Pradeep Anchan

これを.projectファイルに追加します

 <?xml version="1.0" encoding="UTF-8"?>
        <projectDescription>
            <name>framework</name>
            <comment></comment>
            <projects>
            </projects>
            <buildSpec>
                <buildCommand>
                    <name>org.Eclipse.wst.common.project.facet.core.builder</name>
                    <arguments>
                    </arguments>
                </buildCommand>
                <buildCommand>
                    <name>org.Eclipse.jdt.core.javabuilder</name>
                    <arguments>
                    </arguments>
                </buildCommand>
                <buildCommand>
                    <name>org.Eclipse.m2e.core.maven2Builder</name>
                    <arguments>
                    </arguments>
                </buildCommand>
                <buildCommand>
                    <name>org.Eclipse.wst.validation.validationbuilder</name>
                    <arguments>
                    </arguments>
                </buildCommand>
            </buildSpec>
            <natures>
                <nature>org.Eclipse.jem.workbench.JavaEMFNature</nature>
                <nature>org.Eclipse.wst.common.modulecore.ModuleCoreNature</nature>
                <nature>org.Eclipse.jdt.core.javanature</nature>
                <nature>org.Eclipse.m2e.core.maven2Nature</nature>
                <nature>org.Eclipse.wst.common.project.facet.core.nature</nature>
            </natures>
        </projectDescription>
0
Pavan Chitluri