我有一個項目使用Maven和前端maven插件(com.github.eirslett)。如何僅將maven執行目標定位到構建文件夾?
當我運行mvn install
一切從插件運行的執行,以及他們創造的src/main/webapp
根,其中實際前端代碼是node_modules
,bower_components
和node
文件夾。
事情是,我想mvn install
只執行和創建那些在build
目錄中生成的包,而不是在版本化的應用程序代碼中生成,就像它在Java庫中一樣。
有沒有辦法做到這一點?
這是我pom.xml
相關部分:
<build>
<directory>build</directory>
<outputDirectory>build/classes</outputDirectory>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>2.3</version>
<configuration>
<source>${java.version}</source>
<target>${java.version}</target>
<encoding>UTF-8</encoding>
<webResources>
<resource>
<filtering>true</filtering>
<directory>src/main/webapp</directory>
<includes>
<include>WEB-INF/weblogic.xml</include>
</includes>
</resource>
</webResources>
</configuration>
</plugin>
...
<plugin>
<groupId>com.github.eirslett</groupId>
<artifactId>frontend-maven-plugin</artifactId>
<version>0.0.20</version>
<configuration>
<workingDirectory>src/main/webapp</workingDirectory>
</configuration>
<executions>
<execution>
<id>install node and npm</id>
<goals>
<goal>install-node-and-npm</goal>
</goals>
<configuration>
<nodeVersion>v0.10.34</nodeVersion>
<npmVersion>2.1.11</npmVersion>
</configuration>
</execution>
<execution>
<id>npm install</id>
<goals>
<goal>npm</goal>
</goals>
<configuration>
<arguments>install</arguments>
</configuration>
</execution>
<execution>
<id>bower install</id>
<goals>
<goal>bower</goal>
</goals>
<configuration>
<arguments>install</arguments>
</configuration>
</execution>
<execution>
<id>grunt build</id>
<goals>
<goal>grunt</goal>
</goals>
</execution>
</executions>
</plugin>
...
</plugins>
</build>
你並不孤單與此有關。有一個公開的問題https://github.com/eirslett/frontend-maven-plugin/issues/18,有一個等待被接受的拉取請求。 https://github.com/cfmobile/frontend-maven-plugin/commit/52b7b28d1b8fd449f63ced3d0ed792fde22c041b – xverges
Ticket is [closed](https://github.com/eirslett/frontend-maven-plugin/issues/18#ref-commit- c6a01c1)witn [配置參數](https://github.com/eirslett/frontend-maven-plugin/pull/234) –
chivorotkiv