【问题标题】:How to copy a resource from one maven project to another如何将资源从一个 Maven 项目复制到另一个
【发布时间】:2018-10-18 14:38:09
【问题描述】:

我有一个由父项目和子项目组成的 Maven 项目。孩子们由许多战争项目和一个 jar 项目(外部)组成。我想从 jar 项目的文件夹中将一个 json 文件(keycloak.json)复制到所有战争项目的 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>

【问题讨论】:

    标签: eclipse maven war keycloak eclipse-wtp


    【解决方案1】:

    最后我找到了更接近我原来的解决方案。它取决于来自父 pom 的相对项目路径,这在我的情况下不是问题。 external 是我的 jar 的名称

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

    【讨论】:

      猜你喜欢
      • 2020-08-20
      • 1970-01-01
      • 2012-01-13
      • 2018-03-24
      • 2021-12-09
      • 1970-01-01
      • 1970-01-01
      • 2013-01-04
      • 1970-01-01
      相关资源
      最近更新 更多