java - 使用资源插件从相邻的 Maven 模块复制静态文件和目录?

标签 java maven

我有一个与当前模块相邻的模块,并且想要从相邻模块中提取一个目录及其子模块,并在构建当前模块时将内容复制到目标目录。

我想知道获取目录指令中相邻人员的相对路径的最佳方法。

尝试

                    <plugin>
                        <artifactId>maven-resources-plugin</artifactId>
                        <executions>
                            <execution>
                                <id>copy-resources</id>
                                <phase>generate-resources</phase>
                                <goals>
                                    <goal>copy-resources</goal>
                                </goals>
                                <configuration>
                                    <outputDirectory>${project.build.directory}</outputDirectory>
                                    <resources>
                                        <resource>
                                            <directory>src/main/resources</directory>
                                            <filtering>true</filtering>
                                        </resource>
                                        <resource>
                                            <directory>../adjacent/src/main/docker/</directory>
                                            <filtering>true</filtering>
                                            <includes>
                                                <include>**/*</include>
                                            </includes>
                                            <excludes>
                                                <exclude>**/nodes/**</exclude>
                                                <exclude>**/data/**</exclude>
                                            </excludes>
                                        </resource>
                                        <resource>
                                            <directory>../adjacent/src/main/docker/</directory>
                                            <filtering>false</filtering>
                                            <includes>
                                                <include>**/data/**</include>
                                            </includes>
                                        </resource>
                                    </resources>
                                </configuration>
                            </execution>
                        </executions>
                    </plugin>
    ```

最佳答案

您不必声明 maven-resources-plugin 的执行明确地。它可以在 default-resources 内实现,简化POM。执行,以及:

  <build>
    ...
    <resources>

      <resource>
        <targetPath>..</targetPath>  <!--  relative to the target/classes directory
                                           (i.e. ${project.build.outputDirectory}) -->
        <directory>src/main/resources</directory>
        <filtering>true</filtering>
      </resource>

      <resource>
        <targetPath>..</targetPath>
        <directory>../adjacent/src/main/docker/</directory>
        <filtering>true</filtering>
        <includes>
          <include>**/*</include>
        </includes>
        <excludes>
          <exclude>**/nodes/**</exclude>
          <exclude>**/data/**</exclude>
        </excludes>
      </resource>

      <resource>
        <targetPath>..</targetPath>
        <directory>../adjacent/src/main/docker/</directory>
        <filtering>false</filtering>
        <includes>
          <include>**/data/**</include>
        </includes>
      </resource>

    </resources>
  ...
</build>

对于<directory>The path is relative to the POM.”。所以,../adjacent/src/...没问题。

这还有一个优点,即 Eclipse m2e 插件会考虑这些声明,即资源在 ProjectClean... 中复制,而不是仅在 Maven 构建期间复制。

关于java - 使用资源插件从相邻的 Maven 模块复制静态文件和目录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55361539/

相关文章:

java - session 超时时间

java - 用Java填充一个矩形

Maven:对不在 'resources' 下的文本文件使用过滤机制?

java - Allure 报告不会使用 mvn test -Darguments 生成

java - 如何在没有artifactory或setting.xml的情况下使用Maven项目?

java - 具有 const 参数的不可变对象(immutable对象)是否会被优化为仅由 Kotlin 编译器实例化一次

java - 为什么 JSON 响应是 200

java - 如何在捕获异常后保持代码运行(Java)

java - Maven MySQL 连接器和官方 MySQL 连接器 JAR 文件有什么区别?

java - Jar 从本地库中选择了错误的依赖版本