Как исключить классы из упакованного веб-приложения с Maven - PullRequest
8 голосов
/ 20 августа 2009

Как я могу отфильтровать определенные классы в / target / classes от перехода в / target / [webapp] / WEB-INF / classes? Я хочу, чтобы они были скомпилированы в / target / classes /, но не в финальной войне.

Ответы [ 4 ]

1 голос
/ 20 августа 2009

Для чего эти классы? Если они предназначены для тестирования, вы можете указать их в src / test / java, затем они будут скомпилированы в целевые / test-классы на этапе test-compile, но не будут включены в финальную войну.

Если они не для тестирования и не должны быть включены в войну, возможно, они должны быть реорганизованы в другой проект, чтобы вы могли указать его как зависимость (возможно, с «предоставленной» областью, чтобы они не были развертывается.

Для справки вы можете настроить войну для включения и исключения ресурсов при упаковке.

В следующем примере будут включены все jpgs, но исключены ресурсы из подпапки image2:

    <configuration>
      <webResources>
        <resource>
          <!-- this is relative to the pom.xml directory -->
          <directory>resource2</directory>
          <!-- the list has a default value of ** -->
          <includes>
            <include>**/*.jpg</include>
          <includes>
          <excludes>
            <exclude>**/image2</exclude>
          </excludes>
        </resource>
      </webResources>
    </configuration>

Подробнее см. Документацию по для плагина войны .

0 голосов
/ 14 апреля 2017

В текущей версии maven-war-plugin (3.0.0) это работает для меня -

<profile>
     <id>abc</id>
     ...
     <build>
      <plugin>
        <artifactId>maven-war-plugin</artifactId>
        <version>3.0.0</version>
        <configuration>
          <packagingExcludes>WEB-INF/classes/com/abc/pqr/ClassName.class</packagingExcludes>
        </configuration>
       </plugin>
     </build>
</profile> 
0 голосов
/ 20 августа 2009

Возможно, вам повезет с этим, если вы примете их в пакете, который вы можете определить с помощью шаблона ant

  <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-war-plugin</artifactId>
        <version>2.0.2</version>
        <configuration>
                <excludes>**/dontneed/*.class</excludes>
        </configuration>
  </plugin> 
0 голосов
/ 20 августа 2009

Вы можете использовать плагин TrueZIP Maven (http://mojo.codehaus.org/truezip-maven-plugin/).

См. Примеры в:

http://svn.codehaus.org/mojo/trunk/mojo/truezip-maven-plugin/src/it/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...