如何使用Maven htmlcompressor插件怎么打包thymeleaf的HTML文件


<dependency>
    <groupId>com.googlecode.htmlcompressorgroupId>
    <artifactId>htmlcompressorartifactId>
    <version>1.5.2version>
    <optional>trueoptional>
dependency>

如何使用Maven htmlcompressor插件怎么打包thymeleaf的HTML文件?
如何使用Maven htmlcompressor插件怎么打包thymeleaf的HTML文件?

该回答引用GPTᴼᴾᴱᴺᴬᴵ
要使用 Maven htmlcompressor 插件,您需要在 Maven 配置文件 pom.xml 中添加以下插件配置:

<build>
  <plugins>
    <plugin>
      <groupId>com.googlecode.htmlcompressor</groupId>
      <artifactId>htmlcompressor-maven-plugin</artifactId>
      <version>1.5.2</version>
      <executions>
        <execution>
          <phase>process-resources</phase>
          <goals>
            <goal>compress</goal>
          </goals>
        </execution>
      </executions>
      <configuration>
        <sourceDirectory>${project.build.directory}/classes/templates</sourceDirectory>
        <outputDirectory>${project.build.directory}/classes/templates</outputDirectory>
        <preserveComments>false</preserveComments>
        <compressJavaScript>true</compressJavaScript>
        <compressCss>true</compressCss>
        <removeIntertagSpaces>true</removeIntertagSpaces>
      </configuration>
    </plugin>
  </plugins>
</build>



这个插件会在 process-resources 构建阶段执行,并压缩 HTML 文件。注意,此处使用了 ${project.build.directory} 变量,它将指向项目构建输出目录。
·
要压缩 Thymeleaf 模板文件,您需要将这些文件放在 Maven 项目的 src/main/resources/templates 目录下,并在上面的配置中设置正确的源和输出目录。
·
您可以根据需要调整其他配置选项,如是否保留注释、压缩 JavaScript 和 CSS 等。有关更多信息,请查看 htmlcompressor-maven-plugin 的文档。
·
最后,在命令行中执行 mvn clean package 命令即可构建项目并压缩 HTML 文件。

您可以按照以下步骤使用 Maven htmlcompressor 插件打包 Thymeleaf 的 HTML 文件:

在 pom.xml 文件中添加 htmlcompressor 插件的依赖:
复制

<dependency>
    <groupId>com.googlecode.htmlcompressor</groupId>
    <artifactId>htmlcompressor</artifactId>
    <version>1.5.2</version>
</dependency>

在 pom.xml 文件中添加 htmlcompressor 插件的配置:
复制

<build>
    <plugins>
        <plugin>
            <groupId>com.googlecode.htmlcompressor</groupId>
            <artifactId>htmlcompressor-maven-plugin</artifactId>
            <version>1.5.2</version>
            <executions>
                <execution>
                    <phase>package</phase>
                    <goals>
                        <goal>compress</goal>
                    </goals>
                </execution>
            </executions>
            <configuration>
                <enabled>true</enabled>
                <removeIntertagSpaces>true</removeIntertagSpaces>
                <removeComments>true</removeComments>
                <compressJavaScript>true</compressJavaScript>
                <compressCss>true</compressCss>
                <preserveLineBreaks>false</preserveLineBreaks>
                <removeHttpProtocol>false</removeHttpProtocol>
                <removeHttpsProtocol>false</removeHttpsProtocol>
                <removeSurroundingSpaces>all</removeSurroundingSpaces>
                <compressXml>true</compressXml>
                <compressCssExpressions>true</compressCssExpressions>
                <compressInlineCss>true</compressInlineCss>
                <compressInlineJavaScript>true</compressInlineJavaScript>
                <compressJspScriptlets>true</compressJspScriptlets>
                <compressJspComments>true</compressJspComments>
                <compressJspWhitespace>true</compressJspWhitespace>
                <compressCssAttributes>true</compressCssAttributes>
                <compressCssColors>true</compressCssColors>
                <compressCssUnits>true</compressCssUnits>
                <compressCssZeroUnits>true</compressCssZeroUnits>
                <compressJsTemplates>true</compressJsTemplates>
                <compressJsx>true</compressJsx>
                <compressJson>true</compressJson>
                <compressSvg>true</compressSvg>
                <compressUrls>true</compressUrls>
                <compressCssUrls>true</compressCssUrls>
                <compressJsUrls>true</compressJsUrls>
                <compressHtmlTemplates>true</compressHtmlTemplates>
                <compressAngularDirectives>true</compressAngularDirectives>
                <compressAngularExpressions>true</compressAngularExpressions>
                <compressAngularTemplates>true</compressAngularTemplates>
                <compressAngularControllers>true</compressAngularControllers>
                <compressAngularScopes>true</compressAngularScopes>
                <compressAngularFilters>true</compressAngularFilters>
                <compressAngularServices>true</compressAngularServices>
                <compressAngularFactories>true</compressAngularFactories>
                <compressAngularProviders>true</compressAngularProviders>
                <compressAngularDecorators>true</compressAngularDecorators>
                <compressAngularConfig>true</compressAngularConfig>
                <compressAngularRun>true</compressAngularRun>
                <compressAngularModules>true</compressAngularModules>
            </configuration>
        </plugin>
    </plugins>
</build>

运行 Maven 打包命令:
复制
mvn clean package
这样,htmlcompressor 插件就会自动压缩 Thymeleaf 的 HTML 文件,并将压缩后的文件打包到 target 目录下的 war 包中。

参考下
https://blog.csdn.net/bitree1/article/details/108338205