zrobiłem pracę procesu npm dla moich angularjs 2 + Wiosna Boot stosowanie przez exec-maven-plugin. Nie używam altan i chrząknięć, ale myślę, że możesz to również zrobić przy użyciu exec-maven-plugin, po spojrzeniu na powyższy przykład Antrun z Pear.
Poniżej znajduje się mój przykład pom.xml dla exec-maven-plugin. Moja aplikacja ma package.json, a wszystkie pliki .ts. AngularJS znajdują się w katalogu src/main/resources, więc uruchom npm ze ścieżki. Biegnę npm zainstalować o zależnościach i npm bieg TSC do konwersji .TS do js
pom.xml
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<executions>
<execution>
<id>exec-npm-install</id>
<phase>generate-sources</phase>
<configuration>
<workingDirectory>${project.basedir}/src/main/resources</workingDirectory>
<executable>npm</executable>
<arguments>
<argument>install</argument>
</arguments>
</configuration>
<goals>
<goal>exec</goal>
</goals>
</execution>
<execution>
<id>exec-npm-run-tsc</id>
<phase>generate-sources</phase>
<configuration>
<workingDirectory>${project.basedir}/src/main/resources</workingDirectory>
<executable>npm</executable>
<arguments>
<argument>run</argument>
<argument>tsc</argument>
</arguments>
</configuration>
<goals>
<goal>exec</goal>
</goals>
</execution>
</executions>
</plugin>
Jeden mały kilof na ten działa Maven budować na zaćmienie z Windows lub Mac. Idealnie sprawdza się w przypadku zaćmienia z linuxem, a nawet dobrze w oknie poleceń systemu Windows. Po uruchomieniu kompilacji w środowisku Eclipse z systemem Windows nie można zrozumieć npm i narzekać, że plik ten nie został znaleziony. Dziwna rzecz to npm działa poprawnie w oknie poleceń Windows. Rozwiązując ten problem, tworzę plik npm.bat w ścieżce systemowej. W moim przypadku nodejs i npm są instalowane w C: \ Program Files \ nodejs. Po włożeniu tego pliku wsadowego. wszystko dziala.
npm.bat
@echo off
set arg1=%1
set arg2=%2
C:\Progra~1\nodejs\npm.cmd %arg1% %arg2%
dla Mac, mam ten sam problem na Eclipse. Chodzi o to, że nodejs i npm są zainstalowane pod/usr/local/bin. Aby rozwiązać ten problem, tworzę link symboliczny/usr/local/bin/node i/usr/local/bin/npm do under/user/bin. Jednak/usr/bin jest chroniony w polityce bezpieczeństwa, zrobiłem to po uruchomieniu z dysku odzyskiwania
Witam, dziękuję za odpowiedź. W rzeczywistości używam dość grubej konfiguracji (około 300 linii kodu). To, co chciałem wiedzieć, to czy używanie maven exec wraz z chrząkaniem jest dobrą praktyką, jeśli chodzi o maven. –
Czy możesz umieścić plik pom.xml również w bloku ''? –
Cóż, szczerze mówiąc nie wiem, czy to dobra praktyka, ale to właśnie robię^^. Pom.xml jest bardziej podobny do tego: \t org.apache.maven.Wtyczki \t Maven-antrun-plugin \t 1,5 \t \t \t \t \t \t –
Pear