web-dev-qa-db-ja.com

Eclipseで実行されているmavenプロジェクトの問題、Javaプロジェクトとして認識されない

既存のmavenプロジェクトをEclipseにインポートしました。 JUnitテストの構成をセットアップしようとしましたが、私のプロジェクトがテスト可能なプロジェクトとして表示されません。プロジェクト名を手動で入力すると、次のメッセージが表示されました。

指定されたプロジェクトはJavaプロジェクトではありません

また、コードを入力してメソッドを呼び出そうとすると、ピリオドを入力すると、「System.out」というメッセージがポップアップ表示されます。

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

さらに、プロジェクトを右クリックしてビルドパスに移動しても、アクションはありません。

これをここや他の場所で調べたので、次のアドバイスに従いましたが、成功しませんでした。

.projectファイルと.classpathファイルの存在を確認しました

私は.projectファイルを調べて、javanatureが含まれていることを確認しました

私はmvn Eclipse:eclipseを実行しました

PackageExplorer> Maven> Update Project Configurationでプロジェクトを右クリックしました

Javaはプロジェクトファセットとしてリストされていませんが、クリックしようとしたために混乱する必要があるかどうかはわかりません。そのため、プロジェクト全体がエラーでいっぱいになりました(ビルドパスに関連すると思いますが、かなり覚えています)。 Javaを削除すると、ファセットはエラーを取り除くことができなかったため、プロジェクトを最初から再インポートする必要がありました。

これのいずれかが曖昧な場合は申し訳ありませんが、助けてくれてありがとう。

私はm2Eclipseを使用しています。

編集:問題は、ワークスペースからプロジェクトを削除し、すべての.project、.classpathファイル、および.settingsフォルダーを削除して、再インポートするだけで解決しました。なぜそれが初めてうまくいかなかったのか私にはわかりません。

16
Lowell

ワークスペースからプロジェクトを削除し、すべての.project、.classpathファイル、.settingsフォルダーを削除して、再インポートするだけで問題は解決しました。なぜそれが最初にうまくいかなかったのか分かりません。皆さん、助けてくれてありがとう。

2
Lowell

私はmvn Eclipse:eclipseを実行しました
PackageExplorer> Maven> Update Project Configurationでプロジェクトを右クリックしました

これら2つは相互に排他的である必要があります。 Eclipse:eclipseを使用して外部からプロジェクトを管理するか、m2Eclipseを使用して内部からプロジェクトを管理します。それらを混ぜないでください。

問題の考えられる原因:

パッケージはPOMです(おそらくこれはマルチモジュールプロジェクトのルートであり、その場合はモジュールプロジェクトをインポートする必要があります)。 m2EclipseはPOMプロジェクトにJavaネイチャーを追加しません(Eclipse:eclipse、btwも追加しません)

37

EclipseにM2プラグインがある場合、システムに上記のMaven 2.7がインストールされていることを確認してください。

その後、mvn Eclipse:clean、次にmvn Eclipse:eclipse

.classpathおよび.projectがプロジェクトフォルダに作成されます。すべてうまくいくはずです。

23
Zeta

plsは以下のWebサイトに従います。プロジェクトを右クリックし、[プロパティ]に移動して、[プロジェクトファセット]を選択します。これにより、使用するためにJava /動的Webプロジェクトに変換されます。

10
Syam

使用しているバージョン:Indigo Service Release 2ビルドID:20120216-1857

また、Mavenプラグインをインストールした後、「Project Explorer」-「my project」を右クリックしても「Maven」または「configure」のオプションが表示されないこともわかりました。

上記を読んで、「Package Explorer」で同じことを試しましたが、驚いたことにうまくいきました。そして今、「プロジェクトエクスプローラ」も動作します!

6
gidxl03

同じような問題がありました。私の場合、複数の(親/子)pomを含むMavenプロジェクトをチェックアウトしていました。

リポジトリ/ブランチ内の最上位レベルのMavenプロジェクトが単に子pomを管理しているだけの場合、Java定義がまったく含まれていない可能性があります。これらの子プロジェクトをEclipse内の独立したプロジェクトとして開く必要があります。

これを行うには、プロジェクトを右クリックして、[インポート]-> [Maven]-> [既存のMavenプロジェクト]->変更する子プロジェクトを選択します。

3
William

お使いのEclipseのバージョンに応じて、m2eとサブクリップを Eclipse Marketplace からインストールします。次に:

  1. Eclipseを開き、Window > Open Perspective > Other... > SVN Repository Exploringに移動します。
  2. Svn urlをSVNリポジトリ/コードベースに追加します。
  3. プロジェクトを選択します。右クリックしてCheckoutを選択します。
  4. プロジェクトにpom.xmlがあると仮定して、Javaパースペクティブに切り替え、インポートしたプロジェクトを選択し、右クリックしてConfigure > Convert to Maven Projectを選択します。

これで、Mavenとa Javaプロジェクトの両方として認識されます(MavenとJavaネイチャーがEclipse .projectファイルに追加されます)。

3
yellavon

プロジェクトを右クリック->プロパティ-> maven->ライフサイクルマッピング->チェック(mavenコンパイラプラグインをスキップ)[OK]をクリックして、ビルドパスが表示されます。 nw必要な変更を行います

1
rathnagiri

POMにエラーがないことを確認します。Eclipseは初期ビルド(自動または手動)に基づいてプロジェクトタイプを検出します。

0
Deepu Surendran

プロジェクトの性質は、Eclipseの.projectファイルによって決定されます。これは、親ソースコードとテストフォルダーについてもEclipseに指示します。

以下のように.projectファイルを更新/変更します。これを使用して、Maven互換性とJavaプロジェクトの性質を保持します。

Eclipse Projectフォルダーの下の.project.xml

<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
        <name>Java-cgdk-en</name>
        <comment></comment>
        <projects>
        </projects>
        <buildSpec>
                <buildCommand>
                        <name>org.Eclipse.jdt.core.javabuilder</name>
                        <arguments>
                        </arguments>
                </buildCommand>
        </buildSpec>  
        <natures>
                <nature>org.Eclipse.jdt.core.javanature</nature>
        </natures>
</projectDescription>
0
kanaparthikiran

Pom.xmlファイルのパッケージ化タグを確認してください。

Pom.xmlを使用するように変更するとうまくいきました:

<packaging>jar</packaging>
0
tombrown52

私は同様の状況で行き詰まりましたが、親コレクションを変更しようとしているため、プロジェクトを保持しているだけなので、Eclipseインテリセンスを見つけることができないことに気付きました。 mavenが作成した専用プロジェクトに取り組んでみてください。

0
AkD