当来自 Eclipse 的 运行 时,Maven 没有在项目目录中查找 web.xml

Maven not looking inside project directory for web.xml when running from eclipse

所以我正在将一个非常非常旧的项目升级到 Maven,这绝对是一场噩梦。我正计划升级到 Spring Boot,接下来可能是 Spring MVC,所以在我到达那一步之前,我犹豫是否要开始炸毁目录结构。

我的 web.xml 文件位于 /workspace/project_name/web/WEB-INF/web.xml,我不想开始移动目录以符合 Maven 的标准目录布局。

在我的 POM 中我有

     <plugin>
        <artifactId>maven-war-plugin</artifactId>
        <version>3.1.0</version>
        <configuration>
         <webXml>/web/WEB-INF/web.xml</webXml> 
         <failOnMissingWebXml>true</failOnMissingWebXml>
        </configuration>
      </plugin>

最初 M2Eclipse 抱怨与找不到我的 POM 相关的错误,但是当我在 <webXml> 中添加路径时这些错误停止了。

当我右键单击我的 POM 以 运行 作为 Maven 构建时,基本目录设置为 ${workspace_loc:/project_name},project_name 是我的实际项目名称。我什至尝试过对文件系统目录进行硬编码,但无论它在我的 C 驱动器中寻找什么:

The specified web.xml file 'C:\web\WEB-INF\web.xml' does not exist

知道我做错了什么吗?是否有我在某处遗漏的 M2Eclipse 配置?

WEB-INF 文件夹必须位于 {projectName} 下的 webapp 文件夹中/src/main/webapp 所以,你到 web.xml 的完整路径是

{projectName}/src/main/webapp/WEB-INF/web.xml

希望对您有所帮助

试试不在开头加斜杠。 Maven 将从项目根目录开始计算路径。

<webXml>web/WEB-INF/web.xml</webXml>

以斜杠开头,Maven认为是绝对路径。