我將使用maven依賴項com.samaxes.maven#minify-maven-plugin來縮小我的前端項目。這個前端項目打包成一個jar(java歸檔) - 所以我沒有war文件,因爲我使用了Spring引導。將縮小文件放入罐中
使用底部的配置* .min.js和* .min.css文件生成,但它們不會陷入jar文件。我已經閱讀了一些線程,並嘗試了一些東西,但沒有成功:在JAR文件中,仍然存在unminified的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>
[編輯]
我有編輯Maven插件這種方式。 我真的必須使用src/main/recoures - 它是我們項目的規範。現在
我的問題是,在不同的文件夾中的文件的Unter的主文件夾路徑公共/應用是精縮下,但縮小的文件的文件夾處於同一級別比我公共文件夾。
所以,我需要這樣的:
<webappTargetDir>**public/app/**${project.build.outputDirectory}</webappTargetDir>
是否有可能做這樣的嗎?
<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>
隨着縮小,Maven的插件配置上面,我得到以下文件夾結構在左側,但我需要的文件夾結構的分辯側。有沒有可能做到這一點?
首先,你應該縮小插件的相變化'準備,package'此外,你不應該使用'src/main/resources'並將'webappTargetDir'改爲'$ {project.build.outputDirectory}'(target/classes文件夾)......如果使用複製的src/main/resources'文件夾在資源階段進入'目標/類'這是不是真的想要什麼.... – khmarbaise
感謝您的反饋。有沒有可能將縮小的文件放在原始文件路徑的位置?非常感謝! – quma
如果您嘗試使用 $ {project.build.outputDirectory}/public/app webappTargetDir>',該怎麼辦? –
Tunaki