我使用的是tomcat7-maven-plugin,我的web应用程序存储在src/main/webapp中。它是一个React应用程序,所以我用src/main/webapp/build运行npm run build来生成一个“编译”的版本。我的问题是,每当我打包webapp时,整个webapp文件夹都会打包(包括node_modules...),而不仅仅是build文件夹。
下面是我对插件的配置:
<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<configuration>
<port>9090</port>
<!-- I am looking for something of the following form -->
<webappPath>build</webappPath>
</configuration>
</plugin>
</plugins>
</pluginManagement>我怎么才能让插件只打包webapp/build目录?也许有一种方法可以至少从包中排除node_modules,因为所有这些模块都只用于创建我的webapp的打包版本?
发布于 2018-03-09 18:48:11
tomcat7-maven-plugin不负责打包war文件。它只负责tomcat上的部署、取消部署、启动、重启和其他相关操作。
maven WAR插件与WAR文件https://maven.apache.org/plugins/maven-war-plugin/usage.html的打包相关
如果想要更改war插件使用的默认路径,则需要
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<configuration>
<warSourceDirectory>your source directory</warSourceDirectory>
</configuration>
</plugin>发布于 2018-03-12 18:30:26
您可以在生成中包含或排除
<project>
...
<name>My Resources Plugin Practice Project</name>
...
<build>
...
<resources>
<resource>
<directory>src/my-resources</directory>
<includes>
<include>**/*.txt</include>
</includes>
<excludes>
<exclude>**/*test*.*</exclude>
</excludes>
</resource>
...
</resources>
...
</build>
...
</project>https://stackoverflow.com/questions/49022524
复制相似问题