当前位置: 首页 > 面试题库 >

构建WAR软件包时出现Maven错误(缺少web.xml。

常永长
2023-03-14
问题内容

执行时mvn install,出现以下错误:

组装WAR时出错:需要webxml属性(如果以更新模式执行,则必须预先存在WEB-INF / web.xml)

我的Web应用程序结构树如下所示:

my-app
|-- pom.xml
|-- src
    |-- ...
    |-- WebContent
        |-- ...
        |-- META-INF
        |-- WEB-INF
            |-- classes
                |-- ...
            |-- lib
            |-- **web.xml**

我的POM文件如下所示:

<project>
  <modelVersion>4.0.0</modelVersion>
  <groupId>masters.traffic</groupId>
  <artifactId>traffic_web</artifactId>
  <packaging>war</packaging>
  <name>traffic_web</name>
  <version>0.1.0</version>
  <build>
        <sourceDirectory>src</sourceDirectory>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <configuration>
                    <source>1.6</source>
                    <target>1.6</target>                    
                </configuration>
            </plugin>
        </plugins>
  </build>

    ...
</project>

如何正确解决该问题?

问候


问题答案:

强烈
建议使用Maven的标准布局:

  • 将Java源代码放入src/main/java(并删除sourceDirectory元素)
  • 将Web应用程序源放入 src/main/webapp
  • 删除下的classeslib目录WEB-INF

当然,您可以自定义布局,但这是IMO更多的麻烦和无用的工作,而不是收益。只需遵循约定。



 类似资料:
  • 我在创建带有依赖项的jar时遇到了一个错误。运行jar时,我遇到以下错误: 这是我的pom。xml文件 但是当我生成jar时,我得到错误无法找到或加载主类com.faro.engine.MainAppLoader这里是我的pom文件。 有什么想法吗? 提前感谢:)

  • 我试图用maven插件对来自Vaadin7.0.0的示例应用程序进行打包,但每次运行目标“package”时,生成都会失败,并出现以下错误: 我的pom.xml如下:http://maven.apache.org/maven-v4_0_0.xsd“>4.0.0com.myCompany essai war 0.0.1-快照Vaadin Web应用程序 我是maven新手,即使我发现了很多关于这个错

  • 我正在尝试在Windows 7上使用Cmake构建OpenCV。我选择使用Visual Studio 10编译器。 我收到以下错误: C:/程序文件 (x86)/CMake 2.8/共享/生成 2.8/模块/CMakeCXX 中的生成错误信息:37 (get_filename_component): get_filename_component调用不正确的参数数调用堆栈(最近的调用优先):CMak

  • 问题内容: 使用pip安装Google App Engine时出错 问题答案: 这是因为PyPI已禁用对API的非HTTPS访问 https://mail.python.org/pipermail/distutils- sig/2017-October/031712.html 作为解决方法,您可以使用

  • 问题内容: 我认为这没有什么区别,但我使用的是Python 2.7。 因此,我的问题的一般部分如下:我为每个项目使用一个单独的项目。我没有管理员访问权限,而且我也不想弄乱系统安装的软件包。自然,我想使用轮子来加快整个系统的软件包升级和安装。如何构建仅在特定范围内满足依赖关系的轮子? 具体来说,发行 失败于 因为不存在全局和在构建轮,当工作与安装的是积极的,这似乎是一个可怕的想法有车轮依赖于特定的版

  • CentOS 6.2 Hadoop 2.6.0 scala 2.10.5 java版本 “1.7.0_75”OpenJDK运行时环境(rhel-2.5.4.0.el6_6-x86_64 u75-b13) OpenJDK 64位服务器虚拟机(构建24.75-b04,混合模式) mvn版本 ApacheMaveen 3.3.3.1(CAB6659F9874FA96462AFEFF40F40FC33C;