Мы используем exec-maven-plugin для запуска оптимизатора RequireJS (r.js) под Node.js (потому что это намного быстрее, чем Rhino):Сообщения об ошибках, которые есть где-то вдоль 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>
Проблема в том, что всякий раз, когда во время компиляции возникает какая-либо проблема, сообщения об ошибках, которые предполагается вызывать r.js, не отображаются на выходе консоли Maven. Что я делаю для устранения неполадок, я перезапущу команду Maven с флагом -X, чтобы получить отладочный вывод, чтобы exec-maven-plugin выводил текущую исполняемую команду. Это что-то вроде:
project-root/target/dependency/node/node \ project-root/target/dependency/requirejs/r.js \ -o src/main/webapp/app.build.json
Когда я запускаю команду вручную из командной строки, то я получаю фактические ошибки компиляции в консоли, а затем приступить к их устранению.
Я экспериментировал с перенаправлением stderr на stdout с 2>&1
безрезультатно (в Windows), потому что я не мог сразу найти способ сделать exec-maven-plugin похожим на бит перенаправления в качестве аргумента. Я не преследовал этот маршрут слишком далеко, потому что это просто дикая догадка, что это проблема stderr/stdout - это может быть, но я просто размышляю.
Любые указания относительно того, что может произойти, или любые предложения по дальнейшим диагностическим шагам, которые я могу предпринять? Помните, что в этой проблеме есть несколько движущихся частей: Maven, exec-maven-plugin, Node.js, r.js и одна усталая голова.
P.S. Я рассматриваю возможность сделать requirejs-maven-plugin выстрелом в качестве последнего средства, потому что временная шкала проекта не позволяет мне провести капитальный ремонт POM прямо сейчас. Я пытаюсь понять, есть ли что-то, что я могу сделать с текущей настройкой.
Вы пытались использовать параметр 'outputFile'? – aib
@aib Да. К сожалению, он ничего не делает из-за известной ошибки с помощью exec-maven-plugin: http://jira.codehaus.org/browse/MEXEC-86 –
В вашем последнем пакете, пожалуйста, рассмотрите [jszip maven plugin] (http : //jszip.org), это еще один носорог, но –