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