eclipse - 如何将资源从一个 Maven 项目复制到另一个
问题描述
我有一个由父项目和子项目组成的 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>
解决方案
最后我找到了更接近我原来的解决方案。它取决于来自父 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>
推荐阅读
- python - 如何在 Python 中使用 OpenCV 和 Tesseract 处理信用卡字体
- javascript - 如何在javascript中的随机函数中使用参数?
- django - Django 中的壁球迁移
- java - @PostAuthorize 失败时返回 404 而不是 403
- javascript - 反应如何忽略子元素的onClick
- visual-studio - Visual Studio Code 中的高亮问题
- java - 如何修复 Cloud vision API 请求失败错误?
- node.js - Azure 函数路由参数读取:context.bindingData.paramName vs context.req.params.paramName
- c# - 在 wcf 服务中发送 devExpress 会话作为参数
- javascript - Typescript 不使用 JS 函数(Typeof)