YUI压缩器Maven Mojo缩小javascript的使用
我使用maven编译struts2项目。我试图缩小位于不同位置的javascript文件YUI压缩器Maven Mojo缩小javascript的使用,javascript,jsp,maven,package,minify,Javascript,Jsp,Maven,Package,Minify,我使用maven编译struts2项目。我试图缩小位于不同位置的javascript文件 <plugin> <groupId>net.alchim31.maven</groupId> <artifactId>yuicompressor-maven-plugin</artifactId> <version>1.3.0</version> <executions>
<plugin>
<groupId>net.alchim31.maven</groupId>
<artifactId>yuicompressor-maven-plugin</artifactId>
<version>1.3.0</version>
<executions>
<execution>
<goals>
<goal>compress</goal>
</goals>
</execution>
</executions>
<configuration>
<nosuffix>true</nosuffix>
</configuration>
</plugin>
net.alchim31.maven
yuicompressor maven插件
1.3.0
压缩
真的
我假设通过这样做,所有js文件都将缩小并替换为生产war文件中的原始文件(根据nosuffix的定义)
然而,情况似乎并非如此。我怎样才能做到这一点
其次,如果我选择使用带有后缀的脚本,我假设我必须手动更改jsp文件中的脚本引用,对吗?如果是,我如何设置它,使其删除没有后缀的原始文件
谢谢。我找到了有效的解决方案。基本上,您需要将以下内容放入pom.xml中(仅替换src/main/webapp文件夹中的js和css文件路径):
org.apache.maven.plugins
maven战争插件
${project.build.directory}/minimized
/
假的
net.alchim31.maven
yuicompressor maven插件
压缩
真的
net.alchim31.maven
yuicompressor maven插件
1.1
${project.build.directory}/minimized
假的
真的
%src/main/webapp%中js和css文件的路径/**/*
+1用于链接,但您忘了在这里包括的唯一内容是:${project.build.directory}/在yiucompressor的配置块中最小化您建议的实际上无法工作-它将丢失src/main/webappHi的所有静态资源、模板和web.xml,@IvanSopov此插件将压缩src/main/webapp下的所有.js和.css文件。但是在我的例子中,我的.js和.css文件位于src/main/resources/static下,那么我如何将默认路径更改为这个呢?提前感谢。您好,@davs这个插件将压缩src/main/webapp下的所有.js和.css文件。但是在我的例子中,我的.js和.css文件位于src/main/resources/static下,那么我如何将默认路径更改为这个呢?提前感谢。这个案例可能有解决方案,但是插件版本1.5.1有一个bug,因为它不能为一些简单的案例配置。假设我们要配置webappDirectory和sourceDirectory。如果sourceDirectory的配置不同于默认值,那么插件将执行两次压缩,一次使用配置的值,然后使用默认值,这与sourceDirectory配置的目的不符。我无法从一个必须在压缩之前进行更改的目录进行压缩。
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<configuration>
<webResources>
<!-- Add minified resources -->
<resource>
<directory>${project.build.directory}/minimized</directory>
<targetPath>/</targetPath>
<filtering>false</filtering>
</resource>
</webResources>
</configuration>
</plugin>
<plugin>
<groupId>net.alchim31.maven</groupId>
<artifactId>yuicompressor-maven-plugin</artifactId>
<executions>
<execution>
<goals>
<goal>compress</goal>
</goals>
</execution>
</executions>
<configuration>
<nosuffix>true</nosuffix>
</configuration>
</plugin>
</plugins>
<pluginManagement>
<plugins>
<!-- Javascript and CSS files compression -->
<plugin>
<groupId>net.alchim31.maven</groupId>
<artifactId>yuicompressor-maven-plugin</artifactId>
<version>1.1</version>
<configuration>
<!-- Don't output in the default webapp location, since the war plugin will overwrite the files in there
with the original, uncompressed ones. -->
<webappDirectory>${project.build.directory}/minimized</webappDirectory>
<jswarn>false</jswarn>
<!-- Overwrite existing files -->
<nosuffix>true</nosuffix>
<includes>
<include>%path to your js and css files inside src/main/webapp%/**/*</include>
</includes>
</configuration>
</plugin>
</plugins>
</pluginManagement>
</build>