Chúng tôi đang sử dụng exec-maven-plugin để chạy trình tối ưu hóa RequireJS (r.js) trong Node.js (vì nó nhanh hơn Rhino nhiều lần):Thông báo lỗi ăn ở đâu đó dọc theo plugin exec-maven> Node.js> r.js
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>1.2</version>
<executions>
<execution>
<id>compile-js</id>
<phase>prepare-package</phase>
<goals>
<goal>exec</goal>
</goals>
<configuration>
<executable>${node.executable}</executable>
<arguments>
<argument>${project.build.directory}/dependency/requirejs/r.js</argument>
<argument>-o</argument>
</arguments>
</configuration>
</execution>
</executions>
</plugin>
Vấn đề là, bất cứ khi nào có bất kỳ vấn đề nào trong quá trình biên dịch, các thông báo lỗi mà r.js được cho là phát ra không được hiển thị trong đầu ra giao diện điều khiển của Maven. Những gì tôi làm để khắc phục sự cố là, tôi chạy lại lệnh Maven với cờ -X để lấy đầu ra gỡ lỗi sao cho lệnh exec-maven-plugin xuất ra lệnh thực tế đang được thực hiện. Nó giống như:
project-root/target/dependency/node/node \ project-root/target/dependency/requirejs/r.js \ -o src/main/webapp/app.build.json
Khi tôi chạy lệnh thủ công từ dòng lệnh, sau đó tôi nhận được lỗi biên dịch thực sự trong bảng điều khiển và sau đó tiến hành sửa chúng.
Tôi đã thử nghiệm chuyển hướng stderr thành stdout với 2>&1
không có kết quả (trên Windows) vì tôi không thể tìm ngay cách tạo plugin exec-maven giống như bit chuyển hướng làm đối số. Tôi đã không theo đuổi con đường đó quá xa bởi vì nó chỉ là một dự đoán hoang dã rằng đây là một vấn đề stderr/stdout - nó có thể được, nhưng tôi chỉ đơn thuần suy đoán.
Bất kỳ gợi ý nào về những gì có thể xảy ra hoặc bất kỳ đề xuất nào cho các bước chẩn đoán thêm mà tôi có thể thực hiện? Hãy nhớ có nhiều phần chuyển động trong vấn đề này: Maven, plugin-maven-plugin, Node.js, r.js và một đầu mệt mỏi.
P.S. Tôi đang xem xét việc đưa ra requirejs-maven-plugin một cú đánh như một phương sách cuối cùng vì thời gian dự án không cho phép tôi thực hiện sửa đổi hoàn toàn POM ngay bây giờ. Tôi đang cố gắng để xem nếu có bất cứ điều gì tôi có thể làm với các thiết lập hiện tại.
Bạn đã thử sử dụng tham số 'outputFile' chưa? – aib
@aib Có. Thật không may, nó không làm bất cứ điều gì do một lỗi đã biết với plugin exec-maven: http://jira.codehaus.org/browse/MEXEC-86 –
Trong túi du lịch cuối cùng của bạn, hãy xem xét [jszip maven plugin] (http : //jszip.org) nó là một Rhino khác dựa trên mặc dù –