如何将资源从一个maven项目复制到另一个
How to copy a resource from one maven project to another
我有一个 Maven 项目,由一个带有子项目的父项目组成。子项包含许多 war 个项目和一个 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>
我有一个 Maven 项目,由一个带有子项目的父项目组成。子项包含许多 war 个项目和一个 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>