在我的java应用程序中,我只是想知道是否可以将sven / main / resources下的资源文件从maven子模块复制到主maven模块(将子模块作为依赖项)src / main / resources文件夹,因此我不需要将所有资源文件再次手动复制到我的工作区中。
答案 0 :(得分:0)
您可以使用Maven依赖插件来做到这一点。
这是您可以在主模块pom.xml中的“构建”>“插件”部分中包含的配置。
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<version>3.1.1</version>
<executions>
<execution>
<id>unpack</id>
<phase>initialize</phase>
<goals>
<goal>unpack</goal>
</goals>
<configuration>
<artifactItems>
<artifactItem>
<groupId>hepl.cecotepe.epick</groupId>
<artifactId>wsdl</artifactId>
<version>${wsdl.version}</version>
<type>jar</type>
</artifactItem>
</artifactItems>
<overWrite>true</overWrite>
<outputDirectory>${basedir}/src/main/resources/webservices</outputDirectory>
<includes>**/*.wsdl, **/*.xsd</includes>
<excludes>**/META*/**, **/Documentation/**</excludes>
</configuration>
</execution>
</executions>
</plugin>
artifactItem是要将文件从中复制到模块中的模块。在这种情况下,您将用子模块groupId,artifactId和版本填充artifactItem字段。
该插件将在除Documentation和META *文件夹(及其子文件夹)之外的所有文件夹(包括目标,src和子文件夹)中获取所有.wsdl和.xsd文件。每次将文件复制到主模块/ resources / webservices文件夹中。
要使整个组件正常工作,您需要将子模块打包为jar(在子模块pom.xml中包含jar),然后使用 mvn install 将其安装在本地maven存储库中。之后,您可以使用 mvn初始化
将文件复制到主模块中注意:初始化阶段包含在默认生命周期中,并且是执行的第一个阶段。当您使用默认生命周期时,maven要做的第一件事就是将文件从子模块复制到主模块。