Maven可以“导入”资源依赖吗?

时间:2012-02-16 13:13:58

标签: maven resources maven-resources-plugin

在几个项目中,我有一些我想要共享的资源(特别是Flyway数据库迁移脚本)。

是否可以将这些共享资源作为Maven工件存在,并且在构建之前让Maven解析该依赖关系并将工件的内容解压缩到/src/main/resources/?如果是这样,怎么会这样呢?

1 个答案:

答案 0 :(得分:7)

如果您将一些文件放在/src/main/resources中,它们将被放置在目标JAR工件中的CLASSPATH上。这意味着如果您依赖这样的工件,您将可以访问所有资源,就像您可以访问其中的类一样。

<dependency>
    <groupId>com.example.foo</groupId>
    <artifactId>my-resources</artifactId>
    <version>0.1</version>
</dependency>

如果my-resources工件包含/src/main/resources中的某些资源,您可以在运行时访问,就像您(或任何其他库)可以访问/src/main/resources内容一样来自同一件神器。

请注意,这不适用于/src/test/resources,因为测试资源仅在surefire执行当前工件期间放在CLASSPATH上。