使用 Maven 构建 .war 文件。缺少文件和目录
Building .war file using maven. Missing files and directories
我尝试使用 maven 插件构建 .war 文件:
<plugin>
<artifactId>maven-war-plugin</artifactId>
<version>2.6</version>
<configuration>
<warSourceDirectory>WebContent</warSourceDirectory>
<failOnMissingWebXml>false</failOnMissingWebXml>
</configuration>
</plugin>
我的项目结构如下:
/main/webapp/WEB-INF/
/main/webapp/WEB-INF/spring/...
/main/webapp/WEB-INF/web.xml
/main/webapp/public/...
/main/webapp/resources/...
/main/webapp/views/...
构建后,我的 war 文件只包含 WEB-INF 和 META-INF。 webapp 目录的所有其他内容都丢失了(public、资源和视图)。此外,.war 文件中的 WEB-INF 目录仅包含 /类 和 /lib 目录(/WEB-INF/spring 和 WEB-INF/web.xml 是 missig)。
如何告诉maven将所有webapp和WEB-INF目录内容打包到war文件中?
您可以在命令行中使用以下命令使用 Maven 打包您的项目。
mvn clean package
看看 Maven layout definition:webapp 文件夹应该在 scr/main/webapp
而不是 main/webapp
。
或者,您也可以强制 maven 在不同的目录中查找您的资源。参见 https://maven.apache.org/pom.html#Build_Settings
您的 maven-war-plugin
配置与项目结构不匹配。使用 <warSourceDirectory>WebContent</warSourceDirectory>
,您正在配置 maven-war-plugin
以在 WebContent
目录中查找您的 webapp 源。但是,您的来源位于 main/webapp
.
我建议您将所有 webapp 源移动到 src/main/webapp
(而不是 main/webapp
)并将 maven-war-plugin
配置更新为:
<plugin>
<artifactId>maven-war-plugin</artifactId>
<version>2.6</version>
<configuration>
<failOnMissingWebXml>false</failOnMissingWebXml>
</configuration>
</plugin>
默认情况下,maven-war-plugin
将在 src/main/webapp
.
中查找您的网络应用程序源
我尝试使用 maven 插件构建 .war 文件:
<plugin>
<artifactId>maven-war-plugin</artifactId>
<version>2.6</version>
<configuration>
<warSourceDirectory>WebContent</warSourceDirectory>
<failOnMissingWebXml>false</failOnMissingWebXml>
</configuration>
</plugin>
我的项目结构如下:
/main/webapp/WEB-INF/
/main/webapp/WEB-INF/spring/...
/main/webapp/WEB-INF/web.xml
/main/webapp/public/...
/main/webapp/resources/...
/main/webapp/views/...
构建后,我的 war 文件只包含 WEB-INF 和 META-INF。 webapp 目录的所有其他内容都丢失了(public、资源和视图)。此外,.war 文件中的 WEB-INF 目录仅包含 /类 和 /lib 目录(/WEB-INF/spring 和 WEB-INF/web.xml 是 missig)。
如何告诉maven将所有webapp和WEB-INF目录内容打包到war文件中?
您可以在命令行中使用以下命令使用 Maven 打包您的项目。
mvn clean package
看看 Maven layout definition:webapp 文件夹应该在 scr/main/webapp
而不是 main/webapp
。
或者,您也可以强制 maven 在不同的目录中查找您的资源。参见 https://maven.apache.org/pom.html#Build_Settings
您的 maven-war-plugin
配置与项目结构不匹配。使用 <warSourceDirectory>WebContent</warSourceDirectory>
,您正在配置 maven-war-plugin
以在 WebContent
目录中查找您的 webapp 源。但是,您的来源位于 main/webapp
.
我建议您将所有 webapp 源移动到 src/main/webapp
(而不是 main/webapp
)并将 maven-war-plugin
配置更新为:
<plugin>
<artifactId>maven-war-plugin</artifactId>
<version>2.6</version>
<configuration>
<failOnMissingWebXml>false</failOnMissingWebXml>
</configuration>
</plugin>
默认情况下,maven-war-plugin
将在 src/main/webapp
.