我正在使用tomcat7-maven-plugin
,我的网络应用程序存储在src/main/webapp
中。它是一个React应用程序,因此我运行npm run build
以在src/main/webapp/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的打包版本?
答案 0 :(得分:2)
tomcat7-maven-plugin不负责打包war文件。它只负责在tomcat上部署undeploy start restart和其他相关操作。
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>
答案 1 :(得分:1)
您可以在构建
中包含或排除 <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>