2011-08-18 11 views
7

私はちょうどHeliosからEclipse Indigoに切り替えました.Maven対応のWebプロジェクトをWTPでTomcat 6上で実行しようとするといくつか気になりました。Eclipse 3.7/Indigo m2e WTP統合依存関係

Mavenの依存関係がないTomcatの古典的な問題が発生しました。 Heliosでは、 プロジェクトのプロパティ - >デプロイメントアセンブリ - > 'Javaビルドパスエントリ' - > Maven依存関係

[Java Build Path]のオプションを使用して、Maven依存関係をデプロイメントアセンブリに追加することでした。エントリはリストされておらず、「フォルダ」と「プロジェクト」のみです。これが意図的なものか、セットアップに何か問題があるかどうかはわかりません。外部要因を除去するための試みにおいて

、私は次のセットアップ使用しています:M2eをWTPの統合は、Eclipse Marketplaceのを介してインストールEclipseのインディゴの

  • を新規インストールする(Mac)
  • 新鮮なワークスペース
  • 新しいMavenプロジェクトを作成する
  • いくつかの依存関係に加えて、それらを使用するいくつかのコードを追加してください。
  • C多面的な形
  • にプロジェクトonvert
  • 「動的Webモジュールのファセットを追加Mavenの>更新プロジェクト構成
  • この時点でサーバー

上のTomcat 6サーバー

  • 実行に追加、私は見ます依存関係の欠落に関するClassNotFoundExceptionを取得します。 私は 'mvn war:war'を実行し、組み立てられた 'WEB-INF/lib'ディレクトリをプロジェクトのデプロイメントアセンブリに含めると、依存関係が正しくピックアップされます。

    私が似たような問題に関して読んだ問題のほとんどは、WTP統合モジュールの欠落に結びついていますが、それは私の問題ではないようです。

    何か間違っていますか?

  • +0

    "new mavenプロジェクト"のパッケージングタイプはjarかwarですか? – Raghuram

    +0

    パッケージはJARでした - 私はWARに変更され、サーバーは正しく配置されます!私はそれを正しいとマークすることができるように、これを回答として投稿してください - ありがとう。 – sebrichards

    +0

    コメントを回答として投稿しました。 – Raghuram

    答えて

    3

    new maven projectのパッケージタイプがjarのようです。その場合は、warに変更して試してみてください。

    1

    で議論/答えている別の解決策です: は、固定されました。クラスパスのファイル

    <classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER"> 
          <attributes> 
    -     <attribute name="org.eclipse.jst.component.nondependency" value=""/> 
    +     <attribute name="org.eclipse.jst.component.dependency" value="/WEB-INF/lib"/> 
          </attributes> 
        </classpathentry> 
    
    1

  • は、Ctrlキーを使用して次

  • をクリックし、ポップアップウィンドウからJavaのビルド・パスのエントリを選択し、[追加]をクリックします>プロジェクト

    1. 展開アセンブリを選んでクリックして、マウスをクリックしてすべての図書を選択します

    その後、.classpathファイルに変更が表示されます。

    は、サーバ]タブで再びプロジェクトを公開します。

  • +1

    これらの設定は、Maven Updateを実行するたびに失われます。 m2eプラグインはこれらの設定を上書きするので、Maven対応のWebアプリケーションを扱うときにはほとんど役に立たない... –

    関連する問題