Java 在构建WAR之前在Maven中重命名生成的文件
但愿你能帮助我 我正在使用将我的登录页上的PNG合并为一个,这样它将加载得更快 SmartSprite将检查您的CSS文件,生成CSS Sprite图像,并创建一个新的CSS文件,该文件将使用此Sprite图像而不是原始图像。我想做的是在maven WAR构建过程中自动用SmartSprite文件替换原始CSS文件 下面是我希望发生的事情:Java 在构建WAR之前在Maven中重命名生成的文件,java,maven,css-sprites,Java,Maven,Css Sprites,但愿你能帮助我 我正在使用将我的登录页上的PNG合并为一个,这样它将加载得更快 SmartSprite将检查您的CSS文件,生成CSS Sprite图像,并创建一个新的CSS文件,该文件将使用此Sprite图像而不是原始图像。我想做的是在maven WAR构建过程中自动用SmartSprite文件替换原始CSS文件 下面是我希望发生的事情: SmartSprite扫描我的CSS文件:mystyle.CSS SmartSprite创建一个精灵图像,并创建一个新的mystyle-sprite.css
<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>
org.2.labs
smartsprites maven插件
1
准备包装
喷洒
您可以使用:
maven战争插件
您还应该将SmartSprites配置为使用不同的输出目录来保留原始CSS文件名。请尝试带有空
css文件后缀值的output dir path
选项。恐怕您找不到比Maven AntRun插件更简单、更优雅的插件了:
maven antrun插件
1.7
准备包装
跑
Hi Ates,如何使用参考资料将文件从mystyle-sprite.css重命名为mystyle.css?我认为这只能包含或排除一个文件,但不能在传输过程中更改其名称。@johnfarrly更新了我的答案。尝试使用不同的输出目录(一个与WAR默认的暂存区不同的目录)。哦,是的,这会起作用。我将此方法用于稍微不同的场景(RequireJS优化JS+CSS文件)。谢谢。我必须编写自己的maven插件来显式传递一个空的css文件后缀,但在这之后它就可以工作了!此代码段不会重命名该文件。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>