到目前为止,我通过在每个项目中都有一个包含所有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>
答案 0 :(得分:0)
最后,我找到了更接近于原始解决方案的解决方案。它取决于父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>