Maven War Plugin - 从另一个jar中添加外部资源

时间:2010-03-25 22:45:23

标签: maven-2 maven-plugin

如果我想从另一个jar中提取资源,比如一个图像或XML文件,那可能吗?我会使用Maven Assembly Plugin或War Plugin来执行此操作吗?我希望它最终出现在WAR文件中。

沃尔特

2 个答案:

答案 0 :(得分:2)

您可以在war模块中使用Dependency插件,并将 dependency:unpack 目标绑定到 generate-resources 阶段。查看Unpacking specific artifacts示例。

答案 1 :(得分:1)

我想提取一些资源形式artefactory用于其他proyect,我们需要2个插件maven-dependency-plugin来提取和maven-clean-plugin来清理proyect。调用第一个插件执行目标依赖:解包。

        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-dependency-plugin</artifactId>
            <version>2.6</version>
            <configuration>
                <artifactItems>
                    <artifactItem>
                        <groupId>${project.groupId}</groupId>
                        <artifactId>com.company.artifactory</artifactId>
                        <version>${project.version}</version>
                        <type>jar</type>
                        <overWrite>true</overWrite>
                        <includes>dirInsideJar/**/*.*</includes>
                        <outputDirectory>src/main/resources</outputDirectory>
                    </artifactItem>
                </artifactItems>
                <!-- other configurations here -->
            </configuration>
        </plugin>
        <plugin>
            <artifactId>maven-clean-plugin</artifactId>
            <version>2.5</version>
            <configuration>
                <filesets>
                    <fileset>
                        <directory>src/main/resources/dirInsideJar</directory>
                    </fileset>
                </filesets>
            </configuration>
        </plugin>

this article中解释了上述用法。