如何将资源从其他模块复制到特定位置? (行家)

时间:2010-06-02 11:04:35

标签: maven-2 maven

我有一个maven管理的项目,包含一些模块。 一个模块在“src / main / resources / native”目录中包含一些本机代码。 第二个模块将所有相关模块打包到WAR文件中。

问题是:如何将第一个模块中的“native /”目录(及其子目录)复制到第二个模块中的WEB-INF / native目录?

我找到了一个copy resources插件,但似乎不是我想要的。 (它复制同一模块内的目录,但我想要跨模块复制)

2 个答案:

答案 0 :(得分:8)

这适用于dependency:unpack(我将在prepare-package阶段绑定)和相应的excludes/includes。请参阅Unpacking specific artifacts示例。

答案 1 :(得分:4)

maven中模块的目标是将它们彼此区分开来。恐怕maven里面没有令人满意的解决方案,因为这与谷物不相符。

解决方案可能是使用您的资源创建一个战争存档,并依靠它来构建您的最终战争。

我通过添加依赖项来用于项目,例如camel-web资源:

    <dependency>
        <groupId>org.apache.camel</groupId>
        <artifactId>camel-web</artifactId>
        <version>${camel.version}</version>
        <type>war</type>
        <scope>runtime</scope>
    </dependency>

战争资源与我的网络资源合并。