Używamy exec-maven-plugin do uruchomienia optymalizatora RequireJS (r.js) pod Node.js (ponieważ jest dużo szybszy niż Rhino):Wiadomości o błędach zjedzone gdzieś wzdłuż exec-maven-plugin> 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>
problem jest, gdy jest jakiś problem podczas kompilacji, komunikaty o błędach, które r.js ma wygadać nie są pokazane na wyjściu konsoli Maven jest. To, co robię, aby rozwiązać problem, polega na ponownym uruchomieniu polecenia Maven za pomocą opcji -X, aby pobrać dane wyjściowe debugowania, aby exec-maven-plugin wyprowadzał faktyczne wykonywane polecenie. To coś takiego:
project-root/target/dependency/node/node \ project-root/target/dependency/requirejs/r.js \ -o src/main/webapp/app.build.json
Kiedy ręcznie uruchomić polecenie z wiersza polecenia, ja wtedy uzyskać rzeczywiste błędy kompilacji w konsoli, a następnie przystąpić do ich mocowania.
Eksperymentowałem z przekierowaniem stderr na stdout z 2>&1
bezskutecznie (na Windowsie), ponieważ nie mogłem od razu znaleźć sposobu na stworzenie exec-maven-plugin jak bit przekierowania jako argumentu. Nie podążałem tą drogą zbyt daleko, ponieważ to tylko dzikie przypuszczenie, że jest to problem stderr/stdout - może być, ale ja tylko spekuluję.
Jakieś wskazówki dotyczące tego, co może się wydarzyć, lub sugestie dotyczące dalszych kroków diagnostycznych, które mogę podjąć? Pamiętaj, że w tym problemie jest wiele ruchomych części: Maven, exec-maven-plugin, Node.js, r.js i jedna zmęczona głowa.
P.S. Zastanawiam się nad zrobieniem zdjęcia w ostateczności, ponieważ oś czasu projektu nie pozwala mi teraz na całkowity przegląd POM. Próbuję sprawdzić, czy jest coś, co mogę zrobić z obecną konfiguracją.
Czy próbowałeś użyć parametru 'outputFile'? – aib
@aib Tak. Niestety nie robi nic z powodu znanego błędu z exec-maven-plugin: http://jra.codehaus.org/browse/MEXEC-86 –
W twojej ostatniej ucieczce rozważ proszę [jszip maven plugin] (http : //jszip.org) jest to inna bazująca na Rhino –