簡體   English   中英

如何將資源從一個Maven項目復制到另一個

[英]How to copy a resource from one maven project to another

我有一個Maven項目,其中包括一個父項目和一個子項目。 孩子們包括許多戰爭項目和一個jar項目(外部)。 我想從jar項目中的文件夾將json文件(keycloak.json)復制到所有war項目中的WEB-INF中。

到目前為止,我通過在每個項目中都有一個包含所有keycloak.json的文件夾來使其工作。 (根據所使用的Maven配置文件選擇不同的keycloak.json)。

<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>

我試圖移動到從jar文件復制keycloak.json,所以我不必在其他項目中重復20次。 到目前為止,我已經嘗試了以下似乎將文件復制到目標的方法,但是在Eclipse中WTP並未將其提取

<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>

最終,我找到了更接近於原始解決方案的解決方案。 它取決於父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>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM