Исключить maven-зависимость из сборки - PullRequest
0 голосов
/ 23 декабря 2018

У меня есть два проекта Maven.Проект A и проект B. B использует A в качестве зависимости.Когда я строю B как войну, Maven экспортирует A и его зависимость.Как сказать maven не включать это дерево зависимостей в одиночку при экспорте?Я не могу найти тег исключений в конфигурации maven war.

Примечание: я не могу использовать предоставленную область в зависимости, потому что мне нужно ее протестировать с использованием встроенного tomcat.

Фрагмент Project B Pom

<dependencies>
<!-- Project A -->
<dependency>
    <groupId>test</groupId>
    <artifactId>test-core</artifactId>
    <version>0.0.1-SNAPSHOT</version>
</dependency>
</dependencies>

<build>
  <plugins>
    <plugin>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>3.6.1</version>
        <configuration>
            <encoding>UTF-8</encoding>
            <source>1.8</source>
            <target>1.8</target>
        </configuration>
    </plugin>
    <plugin>
      <groupId>org.apache.tomcat.maven</groupId>
      <artifactId>tomcat7-maven-plugin</artifactId>
      <version>2.2</version>
      <configuration>
        <path>/</path>
        <port>80</port>
      </configuration>
    </plugin>
    <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-war-plugin</artifactId>
        <version>3.2.2</version>
        <configuration>
            <!-- Exclude Tag is not available in configuration -->
        </configuration>
    </plugin>  
  </plugins>

Ответы [ 2 ]

0 голосов
/ 18 января 2019

Я наконец решил клонировать ветку в git и назвать ее веткой релиза.Теперь у него будет другой Pom, т. Е. Будет предоставлен объем проекта A в рамках B.После серии изменений в ветке Dev я добавлю ее в ветку релиза и соберу jar-файлы.Кроме того, я считаю, что это должно быть хорошо для Дженкинса (еще не проверял, но это дальше)

0 голосов
/ 24 декабря 2018

Вам нужно создать профили, вы можете создать два профиля, один для разработки (встроенный tomcat, с dep A), а другой для производства (без dep)

<profiles>
    <profile>
        <id>dev</id>
        <activation>
            <activeByDefault>true</activeByDefault>
        </activation>
        <dependencies>
            <dependency>
                <!-- dep A -->
            </dependency>
        </dependencies>
    </profile>
    <profile>
        <id>prod</id>
        <dependencies>
            <dependency>
                <!-- dep A -->
                <scope>provided</scope>
            </dependency>
        </dependencies>
    </profile>
</profiles>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...