我正在尝试按照http://www.baeldung.com/maven-minification-of-js-and-css-assets中的说明在我的Spring MVC Web应用程序中使用YUI压缩器maven插件。我已经将以下内容添加到我的pom.xml文件中:
<plugin>
<groupId>net.alchim31.maven</groupId>
<artifactId>yuicompressor-maven-plugin</artifactId>
<version>1.5.1</version>
<executions>
<execution>
<goals>
<goal>compress</goal>
</goals>
</execution>
</executions>
<configuration>
<nosuffix>true</nosuffix>
<webappDirectory>${project.build.directory}/min</webappDirectory>
<excludes>
<exclude>**/*.min.js</exclude>
<exclude>**/handlebars-3133af2.js</exclude>
<exclude>**/require.js</exclude>
</excludes>
</configuration>
</plugin>我在src/main/webapp下的子文件夹中有许多CSS和JS文件,根据文档,所有这些文件都应该缩小。但是当我运行maven clean install时,我既没有在控制台中看到任何与缩小相关的日志,也没有在我的war文件中找到任何缩小的文件。
我只想将缩小后的文件保存在一个名为min的子文件夹下,与现有的CSS或JS文件位于相同的文件夹中。
控制台日志现在是:
[INFO] Scanning for projects...
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building smartwcm-services 6.3.0-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ smartwcm-services ---
[WARNING] Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
[INFO] Copying 36 resources
[INFO]
[INFO] --- yuicompressor-maven-plugin:1.5.1:compress (default) @ smartwcm-services ---
[ERROR] E:\projects\smartwcm\source-code\smartwcm-services\src\main\webapp\layout\common\adminv3\ca\css\content\design\azure.js [1:2]: illegal character
[ERROR] ...E:\projects\smartwcm\source-code\smartwcm-services\src\main\webapp\layout\common\adminv3\ca\css\content\design\azure.js:line 1:column 2:illegal character
/* Note: jquery script is assumed to be loaded prior to this script */
[ERROR] E:\projects\smartwcm\source-code\smartwcm-services\src\main\webapp\layout\common\adminv3\ca\css\content\design\azure.js [1:2]: syntax error
[ERROR] ...E:\projects\smartwcm\source-code\smartwcm-services\src\main\webapp\layout\common\adminv3\ca\css\content\design\azure.js:line 1:column 2:syntax error
/* Note: jquery script is assumed to be loaded prior to this script */
[ERROR] E:\projects\smartwcm\source-code\smartwcm-services\src\main\webapp\layout\common\adminv3\ca\css\content\design\azure.js [1:3]: illegal character
[ERROR] ...E:\projects\smartwcm\source-code\smartwcm-services\src\main\webapp\layout\common\adminv3\ca\css\content\design\azure.js:line 1:column 3:illegal character
/* Note: jquery script is assumed to be loaded prior to this script */
[ERROR] E:\projects\smartwcm\source-code\smartwcm-services\src\main\webapp\layout\common\adminv3\ca\css\content\design\azure.js [1:0]: Compilation produced 3 syntax errors.
[ERROR] ...E:\projects\smartwcm\source-code\smartwcm-services\src\main\webapp\layout\common\adminv3\ca\css\content\design\azure.js:line 1:column 0:Compilation produced 3 syntax errors.
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 6.060 s
[INFO] Finished at: 2016-12-29T11:25:32+05:30
[INFO] Final Memory: 19M/111M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal net.alchim31.maven:yuicompressor-maven-plugin:1.5.1:compress (default) on project smartwcm-services: Execution default of goal net.alchim31.maven:yuicompressor-maven-plugin:1.5.1:compress failed: Compilation produced 3 syntax errors. -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/PluginExecutionException发布于 2016-12-29 13:44:30
如果你在pom.xml中没有nosuffix选项的情况下运行,就像你发布的配置一样,你会在target\min文件夹中得到最小的文件。在maven中你会看到下面的日志。
[INFO] --- yuicompressor-maven-plugin:1.5.1:compress (default) @ spring-static-resources ---
[INFO] bootstrap.css (127343b) -> bootstrap-min.css (106005b)[83%]
[INFO] foo.js (44b) -> foo-min.js (37b)[84%]
[INFO] utils.js (48b) -> utils-min.js (28b)[58%]
[INFO] main.js (138b) -> main-min.js (100b)[72%]
[INFO] router.js (86b) -> router-min.js (64b)[74%]
[INFO] bootstrap.css (127343b) -> bootstrap-min.css (106005b)[83%]
[INFO] foo.js (44b) -> foo-min.js (37b)[84%]
[INFO] bootstrap.css (127343b) -> bootstrap-min.css (106005b)[83%]
[INFO] myCss.css (127343b) -> myCss-min.css (106005b)[83%]
[INFO] bootstrap.css (127343b) -> bootstrap-min.css (106005b)[83%]
[INFO] total input (637075b) -> output (530291b)[83%]当你使用<nosuffix>true</nosuffix>运行时,你会得到低于log的结果。此选项将为您提供target\min文件夹中的最小化文件,但将保持文件名不变。
[INFO] --- yuicompressor-maven-plugin:1.5.1:compress (default) @ spring-static-resources ---
[INFO] bootstrap.css (127343b) -> bootstrap.css (106005b)[83%]
[INFO] foo.js (44b) -> foo.js (37b)[84%]
[INFO] utils.js (48b) -> utils.js (28b)[58%]
[INFO] main.js (138b) -> main.js (100b)[72%]
[INFO] router.js (86b) -> router.js (64b)[74%]
[INFO] bootstrap.css (127343b) -> bootstrap.css (106005b)[83%]
[INFO] foo.js (44b) -> foo.js (37b)[84%]
[INFO] bootstrap.css (127343b) -> bootstrap.css (106005b)[83%]
[INFO] myCss.css (127343b) -> myCss.css (106005b)[83%]
[INFO] bootstrap.css (127343b) -> bootstrap.css (106005b)[83%]
[INFO] total input (637075b) -> output (530291b)[83%]要在war中包含这些最小化文件,而不是原始文件,需要在pom.xml中设置<webappDirectory>。因此您的配置应该如下所示
<plugin>
<groupId>net.alchim31.maven</groupId>
<artifactId>yuicompressor-maven-plugin</artifactId>
<version>${yuicompressor-maven-plugin.version}</version>
<executions>
<execution>
<goals>
<goal>compress</goal>
</goals>
</execution>
</executions>
<configuration>
<nosuffix>true</nosuffix>
<webappDirectory>${project.build.directory}/min</webappDirectory>
<excludes>
<exclude>**/*.min.js</exclude>
<exclude>**/handlebars-3133af2.js</exclude>
<exclude>**/require.js</exclude>
</excludes>
</configuration>
</plugin>以上日志来自github项目https://github.com/eugenp/tutorials/tree/master/handling-spring-static-resources。查看此项目中的pom.xml以供参考。
https://stackoverflow.com/questions/41372708
复制相似问题