Maven没有编译类,war文件中没有类文件

我将我的项目转换为maven。 我在war文件中看到没有可用的类文件。

下面是pom.xml和项目结构。

 4.0.0 RetailProducts RetailProducts 0.0.1-SNAPSHOT war RetailProducts   com.sun.faces jsf-api 2.1.7   com.sun.faces jsf-impl 2.1.7   javax.servlet jstl 1.2   javax.servlet servlet-api 2.5   javax.servlet.jsp jsp-api 2.1    com.sun.el el-ri 1.0    JavaServerFaces   org.apache.maven.plugins maven-compiler-plugin 2.3.1  1.6 1.6    org.apache.maven.plugins maven-war-plugin 2.1.1 <!--  section added to pick up the WEB-INF/web.xml inside WebContent -->    WebContent        

项目结构

在此处输入图像描述

从我的角度来看,您的项目结构并不像maven所期望的那样。

为了解决您的问题,请执行以下操作:

  1. 首先将您的软件包retail.web.mbean重命名为main.java.retail.web.mbean (在您的软件包仍称为retail.web.mbean的过程之后),这将创建maven所需的文件夹结构。
  2. 右键单击项目Maven>更新项目配置。

在此过程之后,您将拥有与启动项目之前相同的结构,但maven将知道在何处查找源代码。

此外,您可以使用以下结构创建资源文件夹和测试文件夹:

 Project src main java resources test java resources 

这将是标准的maven项目结构。

默认情况下,Maven希望Java源代码位于src / main / java中,但您的项目结构中包含src中的源代码。 我建议你遵守标准的Maven目录布局。

如果您不想这样做,那么您可以使用sourceDirectory构建设置,如下所示:

  ...  ${basedir}/src   

您可以在POM.xml中使用以下代码行来包含您已创建的war中的java文件。 Bydefault war在打包时排除.java文件。

   src  **/*.java