6

いくつかのプロジェクトにわたって、共有したいリソース(特にFlywayデータベース移行スクリプト)があります。

これらの共有リソースをMavenアーティファクトとして存在させ、ビルドの前にMavenにその依存関係を解決させ、アーティファクトのコンテンツをアンパックすることは可能/src/main/resources/ですか?もしそうなら、これについてどうやって行くのでしょうか?

4

1 に答える 1

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に配置されるため、これは機能しないことに注意してください。

于 2012-02-16T13:28:09.480 に答える