Tôi khuyên bạn nên sử dụng mục YUI Compressor Maven Mojo và mục tiêu yuicompressor:compress
của mình thay thế. Nó được tài liệu tốt, nó chỉ hoạt động.
Để sử dụng nó, thêm dòng sau pluginRepository
:
<pluginRepositories>
<pluginRepository>
<name>oss.sonatype.org - github-releases</name>
<id>oss.sonatype.org-github-releases</id>
<url>http://oss.sonatype.org/content/repositories/github-releases</url>
</pluginRepository>
</pluginRepositories>
Và tuyên bố plugin:
<project>
...
<build>
<!-- To define the plugin version in your parent POM -->
<pluginManagement>
<plugins>
<plugin>
<groupId>net.alchim31.maven</groupId>
<artifactId>yuicompressor-maven-plugin</artifactId>
<version>0.9</version>
</plugin>
...
</plugins>
</pluginManagement>
<!-- To use the plugin goals in your POM or parent POM -->
<plugins>
<plugin>
<groupId>net.alchim31.maven</groupId>
<artifactId>yuicompressor-maven-plugin</artifactId>
<executions>
<execution>
<goals>
<goal>compress</goal>
</goals>
</execution>
</executions>
</plugin>
...
</plugins>
</build>
...
</project>
Tham khảo các trang Usage và các thông số của yuicompressor:compress cho cấu hình chính xác.
Nguồn
2010-08-27 17:30:06
Xin chào Pascal, Cảm ơn bạn đã trả lời và đưa ra giải pháp. Các plugin hoạt động tốt cho tôi và tôi có thể nén các tập tin cần thiết cho dự án. Trong thời gian đó, tôi có thêm 2 câu hỏi liên quan. Yuicompressor gốc có khả năng loại bỏ dòng mới cho tệp JS. Có cách nào mà tôi có thể loại bỏ dòng mới từ js nén bằng cách sử dụng các plugin? ví dụ: test.namespace ("com.grid"); com.grid.Menu = function (a) {this.m_oMenu = new com.grid.Menu (a, this); this.m_oMenu = a; }; Là một dòng đơn test.namespace ("com.grid"); com.grid.Menu = function (a) {this.m_oMenu = new com.grid.Menu (a, this); this.m_oMenu = a ;}; – AmbGup
@AmbGup Tôi không biết, tôi không phải là người dùng hardcore của plugin này. Nhưng có vẻ như plugin loại bỏ dấu chấm phẩy không cần thiết theo mặc định. Có lẽ điều này nên được tắt (bằng cách sử dụng 'preservAllSemiColons') để nó có thể loại bỏ các dòng mới. –