質問

私は試した これ 私の戦争ファイルからWhole Directory($ {badedir}/src/main/webapp/webscripts)を除外するために失敗しました。なにが問題ですか?

これはうまくいきません:

<configuration>
   <webResources>
      <resource>
       <directory>${basedir}/src/main/webapp/webscripts</directory>
       <excludes>
        <exclude>**/*.*</exclude>
       </excludes>
      </resource>
   </webResources>
</configuration>

これも:

<configuration>
   <webResources>
      <resource>
       <directory>${basedir}/src/main/webapp</directory>
       <excludes>
        <exclude>**/webscripts</exclude>
       </excludes>
      </resource>
   </webResources>
</configuration>

誰かが助けることができますか?

役に立ちましたか?

解決

どちらのソリューションも役に立たないでしょう。なぜなら、それらは追加のリソースを追加して、その後無効化するからです。 WebAppソースフォルダーは、リソースメカニズムなしでデフォルトでコピーされます。

その一部を非アクティブ化するメカニズムは <warSourceExcludes> このようなパラメーター:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-war-plugin</artifactId>
    <version>2.1</version>
    <configuration>
        <warSourceExcludes>webscripts/**</warSourceExcludes>
    </configuration>
</plugin>

他のヒント

warsourceexcludes 名前が変更されたわけではないようです packagingexcludes.

warsourceexcludes: :Warsourcedirectoryのコンテンツをコピーするときに除外するトークンのコンマ分離リスト。

packagingexcludes: :包装前に戦争から除外するトークンのコンマ分離リスト。このオプションは、スキニーウォーユースケースの実装に使用できます。

大きな違いがあります packagingexcludes, 、トークンは最終戦争ファイルから完全に除外されます。と warsourceexcludes, 、トークンは、戦争ディレクトリを戦争ファイルにコピーするときに無視されます。その結果、トークンが WebAppDirectory たとえば、使用するときは無視されません warsourceexcludes しかし、使用するときになります packagingexcludes.

および機能する構文の例:

<warSourceExcludes>**/${project.artifactId}/**</warSourceExcludes>

バージョン2.1-alpha-1では、これは誤ってWarsourceExcludesと名付けられました。適切なパラメーターはです packagingexcludes

使用の例(戦争からweb-inf/ statics/ folderを除外):

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-war-plugin</artifactId>
    <version>2.1.1</version>
    <configuration>
        <warName>searchservice-web</warName>
        <packagingExcludes>WEB-INF/statics/</packagingExcludes>
    </configuration>
</plugin>

Project Structure

ソースファイルを削除するための注文私はmavenで以下の構成を使用しました

 <plugin>
    <artifactId>maven-war-plugin</artifactId>
    <version>3.2.0</version>
    <configuration>
      <packagingExcludes>
        eb-app/app/**,eb-app/node_modules/**,eb-app/public/**,eb-app/server/**,eb-app/tests/**,eb-app/tmp/**,eb-app/vendor/**,eb-app/*
      </packagingExcludes>
    </configuration>
  </plugin>

一致できる2つのフォルダーを除外しなければならなかったシナリオがありました。 *scripts そして、それらはリソースフォルダーにありました。最初の混乱は、除外価値をとして提供するかどうかでした src/main/resources/*scripts またはとして WEB-INF/classes/*scripts, 、すなわち、編集前またはポストコンパイル構造。

提供することが非常に重要でした /** ディレクトリ全体が戦争ファイルから除外されるようにするため。私の場合、 *scripts/**.

これが機能した最終的な構成です。

    <packagingExcludes>WEB-INF/classes/*scripts/**</packagingExcludes>
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top