Как скопировать ресурс из одного проекта maven в другой - PullRequest
0 голосов
/ 18 октября 2018

У меня есть проект Maven, состоящий из родительского проекта с дочерними проектами.Дети состоят из множества военных проектов и одного проекта (внешнего).я хочу скопировать файл json (keycloak.json) в WEB-INF для всех военных проектов из папки в проекте jar.

, пока он работает, имея папку в каждом проекте, содержащуювсе keycloak.json.(различный keycloak.json выбирается в зависимости от того, какой профиль maven используется).

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-war-plugin</artifactId>
    <version>${maven.war.plugin.version}</version>
    <configuration>
        <webResources>
            <resource>
                <directory>keycloak/${keycloak.dir}</directory>
                <targetPath>WEB-INF</targetPath>
                <filtering>true</filtering>
                <includes>
                    <include>**/keycloak.json</include>
                </includes>
            </resource>
        </webResources>
    </configuration>
</plugin>

Я пытаюсь перейти к копированию keycloak.json из файла JAR, поэтому мне не нужно дублировать его 20 раз в других проектах.до сих пор я пробовал нижеприведенное, который, кажется, копирует файл в цель, но он не обнаружен WTP в eclipse

<plugin>
    <artifactId>maven-resources-plugin</artifactId>
    <executions>
        <execution>
            <id>copyKeycloak</id>
            <phase>generate-resources</phase>
            <goals>
                <goal>copy-resources</goal>
            </goals>
            <configuration>
                <outputDirectory>${project.build.directory}/WEB-INF</outputDirectory>
                <overwrite>true</overwrite>
                <resources>
                    <resource>
                        <directory>../external/src/main/resources/keycloak/${keycloak.dir}/</directory>
                        <includes>
                            <include>keycloak.json</include>
                        </includes>
                    </resource>
                </resources>
            </configuration>
        </execution>
    </executions>
</plugin>

1 Ответ

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

в итоге я нашел решение, которое было намного ближе к моему оригиналу.это зависит от относительных путей проекта от родительского pom, что не является проблемой в моем случае.внешний - это имя моей банки

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-war-plugin</artifactId>
    <version>${maven.war.plugin.version}</version>
    <configuration>
        <webResources>
            <resource>
                <directory>../external/src/main/resources/keycloak/${keycloak.dir}</directory>
                <targetPath>WEB-INF</targetPath>
                <filtering>true</filtering>
                <includes>
                    <include>**/keycloak.json</include>
                </includes>
            </resource>
        </webResources>
    </configuration>
</plugin>
...