将缩小的文件放入jar中

qum*_*uma 9 minify maven

我将使用maven依赖com.samaxes.maven#minify-maven-plugin来缩小我的前端项目.这个前端项目被打包成一个jar(java档案) - 所以我没有war文件,因为我使用Spring启动.

使用底部的配置*.min.js和*.min.css生成文件,但它们不会被打包到jar文件中.我已经阅读了一些线程,但我尝试了一些但没有成功:在JAR文件中仍然存在未经编译的css和js文件.

有没有人暗示我能做什么.我的项目中有很多css和js文件在不同的文件夹结构中,缩小的文件应放在同一个地方,就像未经文件化的文件一样.

<build>
<plugins>
  <plugin>
    <groupId>com.samaxes.maven</groupId>
    <artifactId>minify-maven-plugin</artifactId>
    <version>1.7.4</version>
    <executions>
      <execution>
        <id>default-minify</id>
        <phase>package</phase>
        <configuration>
          <charset>UTF-8</charset>
          <skipMerge>true</skipMerge>
          <nosuffix>true</nosuffix>
          <closureCompilationLevel>WHITESPACE_ONLY</closureCompilationLevel>
          <webappSourceDir>src/main/resources</webappSourceDir>
          <cssSourceDir>./</cssSourceDir>
          <cssTargetDir>./minified</cssTargetDir>
          <cssSourceIncludes>
            <cssSourceInclude>**/*.css</cssSourceInclude>
          </cssSourceIncludes>
          <cssSourceExcludes>
            <cssSourceExclude>**/*.min.css</cssSourceExclude>
          </cssSourceExcludes>
          <jsSourceIncludes>
            <jsSourceInclude>**/*.js</jsSourceInclude>
          </jsSourceIncludes>
          <jsSourceExcludes>
            <jsSourceExclude>**/*.min.js</jsSourceExclude>
          </jsSourceExcludes>
          <jsEngine>CLOSURE</jsEngine>
        </configuration>
        <goals>
          <goal>minify</goal>
        </goals>
      </execution>
    </executions>
  </plugin>
</plugins>
Run Code Online (Sandbox Code Playgroud)

[编辑]

我用这种方式编辑了Maven插件.我真的必须使用src/main/recoures - 它是我们项目的规范.

我现在的问题是不同文件夹中的文件在主文件夹路径public/app下缩小但是缩小文件的文件夹与我的公共文件夹相同.

所以我需要这样的东西:

<webappTargetDir>**public/app/**${project.build.outputDirectory}</webappTargetDir>
Run Code Online (Sandbox Code Playgroud)

有可能像这样做吗?

<build>
<plugins>
  <plugin>
    <groupId>com.samaxes.maven</groupId>
    <artifactId>minify-maven-plugin</artifactId>
    <version>1.7.4</version>
    <executions>
      <execution>
        <id>default-minify</id>
        <phase>prepare-package</phase><!-- When omitted defaults to 'process-resources' -->
        <configuration>
          <charset>UTF-8</charset>
          <skipMerge>true</skipMerge>
          <closureCompilationLevel>WHITESPACE_ONLY</closureCompilationLevel>
          <webappSourceDir>src/main/resources/public/app</webappSourceDir>
          <webappTargetDir>${project.build.outputDirectory}</webappTargetDir>
          <cssSourceDir>./</cssSourceDir>
          <cssSourceIncludes>
            <cssSourceInclude>**/*.css</cssSourceInclude>
          </cssSourceIncludes>
          <jsSourceDir>./</jsSourceDir>
          <jsSourceIncludes>
            <jsSourceInclude>**/*.js</jsSourceInclude>
          </jsSourceIncludes>
          <jsEngine>CLOSURE</jsEngine>
        </configuration>
        <goals>
          <goal>minify</goal>
        </goals>
      </execution>
    </executions>
  </plugin>
Run Code Online (Sandbox Code Playgroud)

使用上面的minify-maven-plugin配置,我在左侧获得了以下文件夹结构,但我需要在rigth端的文件夹结构.有没有可能这样做?

当前和所需的文件夹结构

Dzm*_*nka 8

该文件从相对复制webappSourceDirwebappTargetDir.因此,如果您希望结构匹配,则应使用类似的模式.意思是,它应该是

<webappSourceDir>src/main/resources</webappSourceDir>
<webappTargetDir>${project.build.outputDirectory}</webappTargetDir>
Run Code Online (Sandbox Code Playgroud)

要么

<webappSourceDir>src/main/resources/public/app</webappSourceDir>
<webappTargetDir>${project.build.outputDirectory}/public/app</webappTargetDir>
Run Code Online (Sandbox Code Playgroud)

我在这里提交了工作示例