在Maven中组合的Javascript和CSS文件构建没有压缩,缩小等

时间:2012-08-31 11:02:12

标签: maven

是否有一个Maven插件只是结合了js和css资源,但没有做任何缩小,隐藏,压缩等?只是简单的资源连接。

4 个答案:

答案 0 :(得分:6)

对您的项目进行以下更改:

  1. pom.xml <dependencies>标记中,放置:

    <!-- JAVASCRIPT COMBINATION -->
    <dependency>
        <groupId>ro.isdc.wro4j</groupId>
        <artifactId>wro4j-core</artifactId>
    </dependency>
    
  2. pom.xml <plugins>标记中,放置:

    <plugin>
        <groupId>ro.isdc.wro4j</groupId>
        <artifactId>wro4j-maven-plugin</artifactId>
        <version>1.4.3</version>
        <executions>
            <execution>
                <phase>process-resources</phase>
                <goals>
                    <goal>run</goal>
                </goals>
            </execution>
        </executions>
        <configuration>
            <targetGroups>allDev</targetGroups>
            <destinationFolder>${basedir}/src/main/webapp/</destinationFolder>
            <contextFolder>${basedir}/src/main/webapp/</contextFolder>
        </configuration>
    </plugin>
    
  3. pom.xml (或父 pom.xml <dependencyManagement>标记中,放置:

    <!-- JAVASCRIPT COMBINATION -->
    <dependency>
        <groupId>ro.isdc.wro4j</groupId>
        <artifactId>wro4j-core</artifactId>
        <version>1.8.0</version>
    </dependency>
    
  4. /project/src/main/webapp/WEB-INF下创建 wro.xml ,并添加如下内容:

    <?xml version="1.0" encoding="UTF-8"?>
    <groups xmlns="http://www.isdc.ro/wro">  
        <group name="allDev">  
            <js minimize="false">/my1stJsFolder/*.js</js>
            <js minimize="false">/my2ndJsFolder/*.js</js>
            <js minimize="false">/someFileDirectlyUnderWEBINF.js</js>
        </group>
    </groups>  
    
  5. web.xml 中插入:

    <filter>
        <filter-name>WebResourceOptimizer</filter-name>
        <filter-class>ro.isdc.wro.http.WroFilter</filter-class>
    </filter>
    <filter-mapping>
        <filter-name>WebResourceOptimizer</filter-name>
        <url-pattern>/wro/*</url-pattern>
    </filter-mapping>
    
  6. allDev.js 将在/project/src/main/webapp下生成。

    我不确定如何告诉wro4j只在目标中生成一个(现在你有两个 - 一个在项目源文件中,一个在目标中)。

    使用yui插件进行压缩时,我只能在目标中获得一个。但这对你来说不应该是一个大问题。

    更多信息:

    另外

    如果资源处理有任何问题,请尝试添加到<build>代码:

    <resources>
        <resource>
            <directory>src/main/resources</directory>
            <filtering>true</filtering>
        </resource>
    </resources>
    

    还有<plugins>添加

    <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-resources-plugin</artifactId>
        <configuration>
            <nonFilteredFileExtensions>
                <nonFilteredFileExtension>pdf</nonFilteredFileExtension>
                <nonFilteredFileExtension>swf</nonFilteredFileExtension>
                <nonFilteredFileExtension>jpg</nonFilteredFileExtension>
                <nonFilteredFileExtension>jpeg</nonFilteredFileExtension>
                <nonFilteredFileExtension>class</nonFilteredFileExtension>
                <nonFilteredFileExtension>jks</nonFilteredFileExtension>
                <nonFilteredFileExtension>exe</nonFilteredFileExtension>
                <nonFilteredFileExtension>wmv</nonFilteredFileExtension>
                <nonFilteredFileExtension>jar</nonFilteredFileExtension>
                <nonFilteredFileExtension>zip</nonFilteredFileExtension>
                <nonFilteredFileExtension>gz</nonFilteredFileExtension>
            </nonFilteredFileExtensions>
        </configuration>
    </plugin>  
    

答案 1 :(得分:2)

我认为大多数工具都可以让你关闭缩小。

这是另一对看起来很有趣的夫妇:

http://jawr.java.net/

https://code.google.com/p/wro4j/

答案 2 :(得分:0)

答案 3 :(得分:0)

我多年来一直使用YUI Compressor。曾经在ANT中做过,但也有一个maven插件。以下链接是聚合的示例:

http://alchim.sourceforge.net/yuicompressor-maven-plugin/ex_aggregation.html