当前位置: 首页 > 面试题库 >

在构建WAR之前重命名Maven中生成的文件

谷梁俊楚
2023-03-14
问题内容

手指交叉可以帮助我!

我正在使用SmartSprites将目标网页上的PNG合并为一个,以便更快地加载。

SmartSprite将检查您的CSS文件,生成CSS
Sprite图像,并创建一个新的CSS文件,该文件将使用此Sprite图像而不是原始图像。我想要做的是在我的Maven
WAR构建期间自动用SmartSprite替换原始CSS文件。

所以这就是我想发生的事情:

  1. SmartSprite扫描我的CSS文件: mystyle.css
  2. SmartSprite创建一个精灵图像,并创建一个新的 mystyle-sprite.css 文件,该文件引用新的精灵图像。
  3. 构建 WAR之前,我想在 mystyle.css 上复制 mystyle-sprite.css ,这样我就不必在JSP文件中更改任何引用。 __

这两个文件都位于输出目录(target / myproj /
css)中。SmartSprite中似乎没有任何标志可以覆盖原始文件,因此我想必须对其进行后期处理。

以下是我用于SmartSprite的Maven插件配置。

        <plugin>
            <groupId>org.carrot2.labs</groupId>
            <artifactId>smartsprites-maven-plugin</artifactId>
            <version>1.0</version>
            <executions>
                <execution>
                    <phase>prepare-package</phase>
                    <goals>
                        <goal>spritify</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>

问题答案:

您可以使用Maven WAR插件:

<plugin>
    <artifactId>maven-war-plugin</artifactId>
    <configuration>
        <webResources>
            <resource>
                <directory><!-- Your output directory --></directory>
                <targetPath><!-- The target location of the files below --></targetPath>
                <includes>
                    <include><!-- file pattern --></include>
                    <include><!-- file pattern --></include>
                </includes>
            </resource>
        </webResources>
    </configuration>
</plugin>

您还应该将SmartSprites配置为使用其他输出目录来保留原始CSS文件名。尝试output-dir-path使用一个空css-file- suffix值的选项。



 类似资料:
  • 我可以通过运行Grails命令“war”来构建一个war文件,并且war文件运行完美。 说到maven,它根本不起作用!我通过运行“clean package”构建项目,并跳过了所有测试(不知道这是否会影响战争) war文件是在目标目录中生成的,但我注意到war文件的大小与grails命令生成的文件不同。另外,当我将maven生成的war文件部署到tomcat服务器上时,它无法运行。 另一个问题是

  • 问题内容: 我需要在Maven生成的WAR 文件夹中具有JAR依赖关系,而不是,这是它在存储库中的名称。实现这一目标的最佳方法是什么? 在我的POM中,我有: 我希望它以出现在文件夹中。 这是我无法控制的对Maven Central的外部依赖。同样,我也不想强迫使用此方法的所有人将依赖关系重新部署到其本地存储库。 是否有我可以利用的Maven插件,还是应该开始自己编写代码? 问题答案: 您可以使用

  • 问题内容: 我有一个项目,其中包含以下组件 和网络模块为 Web模块创建名为war的战争文件, 如何使用maven将其重命名为? 问题答案: 您可以在产生战争的Web模块中使用以下命令: 这将导致在使用目标“ war:war”时创建一个名为bird.war的文件。

  • 我有一个项目,在pom中包含以下组件。xml 以及web模块pom。xml web模块创建一个名为web-1.0-SNAPSHOT的war文件。war如何配置maven将其构建为bird。战争?

  • 我只是按照这个问题修改了pom以创建不同的war文件。这是原始配置 下面是修改后的(要创建cambelton.war) 当尝试构建时,它会出现错误,但会创建war文件。我认为在尝试创建zip文件时会出现问题。这是错误消息 编辑1 这是webapp。xml 编辑2:也添加了$符号,但仍然给出与相同的错误

  • 我正在进行一个多模块Maven3项目的重构和维护过程,我需要重命名一些工件的groupId和artifactId。 有办法重命名groupId和artifactid吗? 我知道我可以使用sed之类的查找和替换工具,但我想知道除了groupId和artifactid之外,是否还有类似versions-maven-plugin(例如:)的mojo。