我有一个项目使用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