为什么图像文件不能被maven-resources-plugin复制?

时间:2013-04-10 21:04:16

标签: maven maven-resources-plugin

我正在使用YUICompressor maven插件缩小和聚合我的css文件,该插件在我的资源目录的基础上创建一个css文件。这些原始的css文件嵌套在一些文件夹中,这些文件夹在同一级别也有一个“images”文件夹。

我想将这些嵌套图像文件夹中的所有图像复制到我的资源目录底部的一个“images”文件夹中,这样聚合的css仍然可以引用这些图像。

这是我的插件配置:

<plugin>
    <artifactId>maven-resources-plugin</artifactId>
    <version>2.6</version>
    <executions>
        <execution>
            <id>copy-images-for-css</id>
            <!-- here the phase you need -->
            <phase>process-resources</phase>
            <goals>
                <goal>copy-resources</goal>
            </goals>
            <configuration>
                <outputDirectory>target/${project.artifactId}-${project.version}/plugin/resources/${plugin.client.version}/images</outputDirectory>
                <resources>
                    <resource>
                        <directory>target/${project.artifactId}-${project.version}/plugin/resources/${plugin.client.version}</directory>
                        <includes>
                            <include>**/images/*.*</include>
                        </includes>
                    </resource>
                </resources>
            </configuration>
        </execution>
    </executions>
</plugin>

为了对此进行测试,我将.js文件放在嵌套图像文件中,并放在我要复制的.gif和.jpg文件旁边。但是,只有.js文件被移动到正确的位置;图像文件没有任何反应。

是什么给出了?

更新1:

目录结构的更直观的描述:

resources
|--1.1.0
   |--all.min.css
   |--images          //a newly created folder
      |--sample1.gif   //the copied file
      |--sample2.gif   //the copied file
   |--category
      |--category.css
      |--images
         |--sample1.gif
   |--otherCategory
      |--otherCategory.css
      |--images
         |--sample2.gif

更新2: 我只是尝试使用copy-maven-plugin执行副本并获得相同的结果,js文件被复制而不是图像文件。不确定这些插件是否共享功能,但如果没有,它会让我觉得有些东西与插件无关。我可以使用Windows命令提示符成功复制文件。

2 个答案:

答案 0 :(得分:1)

尝试将<include>**/images/*.*</include>替换为 <include>**/images/*</include>。但它很奇怪为什么它不能与您的变体一起使用。 另外,对于您的情况,最好使用assembly插件

答案 1 :(得分:1)

我不确定将资源复制到目标目录的时间,但似乎图像根本就没有及时复制。我意识到没有真正的理由需要从目标目录而不是我的源复制。我更新了如下所示的目录,并成功复制了图像。

在:

<directory>target/${project.artifactId}-${project.version}/plugin/resources/${plugin.client.version}</directory>

后:

<directory>src/main/webapp/plugin/resources/${plugin.client.version}</directory>