Как исключить родительский каталог веб-приложений из дочерней сборки

У меня есть родительский модуль maven runtime и он содержит webApp каталог для хранения веб-материалов.(HTML, JS и т. д.). В моем дочернем модуле employee также следуйте той же структуре. Так что, когда я собираю дочерний проект JAR с зависимостями, он содержит оба webapp содержимое переопределяет друг друга. Моё требование - исключить родительский каталог веб-приложений из моего дочернего (сотрудника) фляги с зависимостями. Я использую плагин Maven Shade для связывания фляги с зависимостями. Пожалуйста, дайте мне знать, как этого добиться.

Родительский файл pom (время выполнения)

<project>
<modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>com.sample.myproject</groupId>
        <artifactId>base</artifactId>
        <version>3.0.0-SNAPSHOT</version>
        <relativePath>../pom.xml</relativePath>
    </parent>
    <artifactId>runtime</artifactId>
    <name>Runtime Engine</name>
    <packaging>jar</packaging>

<dependencies>
            <dependency>
//dependencies goes here
            </dependency>

</dependencies>
    <build>
        <resources>
            <resource>
                <directory>src/main/resources</directory>
            </resource>
            <resource>
                <directory>src/main/config</directory>
                <filtering>true</filtering>

            </resource>
            <resource>
                <directory>src/main/webapp</directory>
            </resource>
        </resources>        
//plugins goes here (maven-jar-plugin)
</build>
</project>

Детский пом (сотрудник)

<project>
    <modelVersion>4.0.0</modelVersion>
        <parent>
            <groupId>com.sample.myproject</groupId>
            <artifactId>base</artifactId>
            <version>1.0.0-SNAPSHOT</version>

        </parent>
        <artifactId>employee</artifactId>
        <name>Employee Engine</name>
        <packaging>jar</packaging>

    <dependencies>
                <dependency>
    //dependencies goes here
    <dependency>
            <groupId>com.sample.myproject</groupId>
            <artifactId>runtime</artifactId>
            <version>3.0.0-SNAPSHOT</version>
    </dependency>
                </dependency>

    </dependencies>
        <build>
            <resources>
                <resource>
                    <directory>src/main/resources</directory>
                </resource>
                <resource>
                    <directory>src/main/config</directory>
                    <filtering>true</filtering>

                </resource>
                <resource>
                    <directory>src/main/webapp</directory>
                </resource>
            </resources>        
    //plugins goes here (maven-jar-plugin)
    <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-shade-plugin</artifactId>
          <version>2.3</version>
          <executions>
             <!-- Run shade goal on package phase -->
            <execution>
            <phase>package</phase>
            <goals>
                <goal>shade</goal>
            </goals>
            <configuration>
              <transformers>
                <!-- add Main-Class to manifest file -->
                                <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
                    <mainClass>com.sample.myproject.employee.AppStarter</mainClass>
                </transformer>
              </transformers>
              <filters>
                                        <filter>
                                            <artifact>*</artifact>
                                            <excludes>
                                                <exclude>META-INF/*.SF</exclude>
                                                <exclude>META-INF/*.DSA</exclude>
                                                <exclude>META-INF/*.RSA</exclude>
                                                <exclude>META-INF/LICENSE</exclude>
                                                <exclude>LICENSE</exclude>
                                            </excludes>
                                        </filter>
                                    </filters>
                                    <shadedArtifactAttached>true</shadedArtifactAttached>
                                    <shadedClassifierName>jar-with-dependencies</shadedClassifierName>
            </configuration>
              </execution>
          </executions>
        </plugin>
    </build>
    </project>

0 ответов

Другие вопросы по тегам