2010-08-27 5 views

Trả lời

9

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.

+0

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

+0

@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. –

3

tốt nhất và một trong những tiên tiến nhất mà tôi tìm thấy cho đến hôm nay là wro4j. Ý tưởng cho thư viện và plugin Maven khác với mọi thứ tôi có thể tìm thấy trên internet, kết hợp khá nhiều công cụ có sẵn vào một thư viện độc lập. Kinh ngạc.

Bạn có hai chế độ với wro4j có sẵn - đầu tiên là vận hành động dưới dạng bộ lọc trong ứng dụng Java, thứ hai là sử dụng giải pháp xây dựng thời gian với plugin Maven. Đó là tất cả thực sự đơn giản và cũng giải thích về dự án documentation section, vì vậy hãy xem và lặn sâu. Có các ví dụ đầy đủ về hoạt động và được giải thích rõ ràng về cách tích hợp wro4j với ứng dụng của người đó hoặc với quá trình xây dựng Maven.

+0

Chà ... chỉ là wow. Tôi chuẩn bị dành cả tuần để nhân rộng thư viện này (tốt, nhiều hơn một tuần nếu tôi triển khai tất cả các tính năng được hỗ trợ). –