私はフロントエンドプロジェクトを縮小するために、maven依存関係com.samaxes.maven#minify-maven-pluginを使用します。このフロントエンドプロジェクトはjar(Javaアーカイブ)にパッケージ化されているので、Springブートを使用しているのでwarファイルはありません。縮小したファイルをjarに配置する
下の設定では、* .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>
[EDIT]
私はこのようにMavenプラグインを編集しています。 私は本当にsrc/main/recouresを使う必要があります。これはプロジェクトの仕様です。
私の問題は今、異なるフォルダ内のファイルが公共/アプリが縮小され、メインフォルダパスの下にウンターが、私のパブリックフォルダがあるよりも縮小さのファイルとフォルダが同じレベルであることです。
<webappTargetDir>**public/app/**${project.build.outputDirectory}</webappTargetDir>
このようにそれを行うには可能性がある:
は、だから私はこのようなものが必要でしょうか?私は左側に次のフォルダ構造を取得しますが、私はrigth側のフォルダ構造が必要になる上縮小化-のmaven-pluginの構成で
<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>
。それを行う可能性はありますか?
ファーストをコミットしました
または
する必要があります'src/main/resources'を使用し、' webappTargetDir'を '$ {project.build.outputDirectory}'(target/classesフォルダ)に変更してください......コピーされた 'src/main/resources'フォルダリソース段階の間にあなたが本当に望むものではない 'target/classes'へ... – khmarbaise
共鳴に感謝します。元のファイルパスがどこにあるのかを確認してください。どうもありがとう! – quma
' $ {project.build.outputDirectory}/public/app webappTargetDir>'を実行するとどうなりますか? –
Tunaki