Исключить все банки из веб-приложения / WEB-INF / lib - PullRequest
1 голос
/ 10 мая 2011

У меня есть сторонние банки в моем WEB-проекте, размещенные по адресу /src/main/webapp/WEB-INF/lib/

Я упомянул зависимость для всех необходимых файлов JAR в pom.xml .Теперь, поскольку зависимости определены в POM, JAR-файлы будут автоматически упакованы в папку lib.

  • Я хочу исключить все JAR-файлы в lib.
  • JAR-файлы Dependency должны быть упакованы внутри библиотеки при сборке WAR

Я НЕ МОГУ УДАЛИТЬ LIB ИЗ WEB-INF, ПОТОМУ ЧТО ЕГО ИСПОЛЬЗУЕТСЯ В МЕСТНОМ РАЗВИТИИ

Это то, что я пробовал до сих пор:

<plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-war-plugin</artifactId>
  <configuration>
    <packagingExcludes>META-INF/context.xml</packagingExcludes>
    <webResources>
      <resource>
        <directory>src/main/webapp/WEB-INF/lib</directory>
        <excludes>
          <exclude>**/**</exclude>
        </excludes>
      </resource>
    </webResources>
  </configuration>
</plugin>

Есть идеи?

Ответы [ 3 ]

6 голосов
/ 16 сентября 2012

Это должно быть «packageExcludes» вместо «warSourceExcludes»:

<configuration>
    <packagingExcludes>WEB-INF/lib/*.jar</packagingExcludes>
    ....
</configuration>

С http://maven.apache.org/plugins/maven-war-plugin/examples/skinny-wars.html:

В версии 2.1-alpha-1 это было неверно названо warSourceExcludes

2 голосов
/ 10 мая 2011

Попробуйте это:

<configuration>
    <warSourceExcludes>WEB-INF/lib/*.jar</warSourceExcludes>
    ....
</configuration>

Однако я согласен с Джарродом в том, что хранить ваши банки в WEB-INF/lib «вручную» - это плохая практика. Я использовал это раньше, чтобы избежать того, что файлы jar, являющиеся зависимостями, будут упакованы, чтобы иметь возможность перепаковывать их позже.

1 голос
/ 10 мая 2011

у вас не должно быть ничего в каталоге WEB-INF/lib для начала.Если вы используете Eclipse, вы можете сказать ему, чтобы он строил свой проект из pom.xml, и он будет знать, как искать в ~/.m2/repository зависимости, Intellij IDEA делает это также.Помещение зависимостей в WEB-INF/lib отрицает цель использования Maven для управления зависимостями.Что происходит, когда зависимости в pom.xml не совпадают с версией синхронизации в WEB-INF/lib

...