2017-05-17 1 views
0

Eclipseで開発されたMaven Webアプリケーションをpom.xmlファイルに作成しました。異なるプロパティを持つ2つの異なるプロファイル:生産と開発を定義しました。 clean installを使ってWARバンドルを作成すると、maven-war-pluginfilteringDeploymentDescriptorsのおかげで、すべてのプロパティが正しく置換された解析済みweb.xmlを管理できます。eclipse tomcatにフィルタリングされたweb.xmlを公開

問題は、私が使用しているEclipseのTomcatにwebappを公開したときに、web.xmlが全く解析されず、すべての生のプロパティ名があるということです。

開発プロファイルでactiveByDefaultをtrueに設定しましたが、Active Mavenプロファイル(プロパティ>> Maven)も設定しましたが、それでも動作させることはできません。

答えて

0

私は、このソリューションを考える:

アイデアは、Eclipse用のアプリケーションのWebルートパスを変更することです:

  1. Eclipseでプロジェクトを閉じます。
  2. 外部エディタで<project>/.settings/org.eclipse.wst.common.componentファイルを開きます。外部エディタ<project>/pom.xmlファイル内

  3. オープン:

  4. はとしてdefaultRootSourceを設定します。

  5. <build>タグ内に追加します。

    <resources> 
        <resource> 
         <directory>src/main/webapp</directory> 
         <filtering>false</filtering> 
         <targetPath>../../target/m2e-wtp/web-resources</targetPath> 
         <excludes> 
          <exclude>WEB-INF</exclude> 
         </excludes> 
        </resource> 
    </resources> 
    
  6. は、Eclipseでプロジェクトを開き、それを試してみてください。この方式では

は、Eclipseプロジェクトが自動的に構築され続けていることを取得し、すべての上で、それは資源のフィルタリングを行うためにMavenを呼び出して構築します。次に、Mavenはダブルフィルタリングを行います。

  • web.xml(filteringDeploymentDescriptors=true)。
  • 残りのファイルsrc/main/webapp<resources>タグによって)。 ...結果はtarget/m2e-wtp/web-resourcesディレクトリに出力されます。これは、EclipseがWebリソースを探したい場所です。

WARNません:一つだけ欠点があります:あなたはsrc/main/webappからJSPを実行してはならない、それは何よりWebコンテナのディレクトリですので。代わりに、ブラウザを開いて開きたいURLを入力する必要があります。

"自動的にビルド"を有効にしてみましたが、それはうまくいきました:web.xmlからinitパラメータを読み込んで、clean packageを実行したJSPを実行し、正しい戦争を起こしました。

関連する問題