gpt4 book ai didi

maven - minify-maven-plugin (com.samaxes.maven v1.7.6) 没有用原始文件替换缩小文件

转载 作者:行者123 更新时间:2023-12-05 06:52:19 26 4
gpt4 key购买 nike

我想压缩 maven 项目中的 JS 和 CSS 文件。我使用过 minify-maven-plugin (com.samaxes.maven v1.7.6)。根据文档 ( https://samaxes.github.io/minify-maven-plugin/minify-mojo.html ),我已将 <nosuffix> 和 <skipMerge> 设置为 true 因为我想维护文件构造并用原始文件替换缩小的文件。我还设置了<phase>package phase>。生成并部署 WAR 文件后,JS 和 CSS 文件并没有缩小,它们与之前保持一致。我还引用了一些 stackoverflow 答案并根据 https://stackoverflow.com/questions/22117824/using-samaxes-minify-nosuffix-to-overwrite-original-files 中提供的建议设置了 <warSourceExcludes> 选项。使用 <warSourceExcludes> 选项后,当我在服务器上部署 WAR 文件时,JS 和 CSS 文件不可用并且应用程序显示 404 错误。请引用我的pom.xml配置:

        <plugin>
<artifactId>maven-war-plugin</artifactId>
<version>3.2.1</version>
<configuration>
<warSourceDirectory>WebContent</warSourceDirectory>
<warSourceExcludes>**/*.css,**/*.js</warSourceExcludes>
</configuration>
</plugin>
<plugin>
<groupId>com.samaxes.maven</groupId>
<artifactId>minify-maven-plugin</artifactId>
<version>1.7.6</version>
<executions>
<execution>
<id>default-minify</id>
<phase>package</phase>
<configuration>
<charset>UTF-8</charset>
<webappSourceDir>${project.basedir}/WebContent</webappSourceDir>

<cssSourceDir>./</cssSourceDir>
<cssSourceIncludes>
<cssSourceInclude>**/*.css</cssSourceInclude>
</cssSourceIncludes>
<cssSourceExcludes>
<cssSourceExclude>**/*.min.css</cssSourceExclude>
</cssSourceExcludes>

<jsSourceDir>./</jsSourceDir>
<jsSourceIncludes>
<jsSourceInclude>**/*.js</jsSourceInclude>
</jsSourceIncludes>
<jsSourceExcludes>
<jsSourceExclude>**/*.min.js</jsSourceExclude>
</jsSourceExcludes>

<jsEngine>CLOSURE</jsEngine>
<nosuffix>true</nosuffix>
<skipMerge>true</skipMerge>
</configuration>
<goals>
<goal>minify</goal>
</goals>
</execution>
</executions>
</plugin>

请提出合适的解决方案。提前致谢!

最佳答案

@Kristof Neirynck 对问题 How to get maven to build a war with minified files using yuicompressor-maven-plugin 给出的答案适用于提到的问题。我将 <phase> 属性更改为 prepare-package 并添加了

<webappTargetDir>${project.build.directory}/minify</webappTargetDir> 

在 <webappSourceDir> 之后的 minify-maven-pluginma​​ven-war-plugin 我设置了以下配置:

        <plugin>
<artifactId>maven-war-plugin</artifactId>
<version>3.2.1</version>
<configuration>
<warSourceDirectory>WebContent</warSourceDirectory>
<webResources>
<resource>
<directory>${project.build.directory}/minify</directory>
</resource>
</webResources>
</configuration>
</plugin>

使用此配置后,当我在 Tomcat 中部署 WAR 文件时,原始文件将替换为缩小后的文件。

关于maven - minify-maven-plugin (com.samaxes.maven v1.7.6) 没有用原始文件替换缩小文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65992033/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com