使用 Maven 创建 WAR 时出现编译错误

Compilation Error when creating WAR with maven

我正在尝试在 Eclipse 中使用 Maven 创建一个 WAR 文件,但我收到以下错误

[错误]/InformationMethods.java:[6,32] 包 org.apache.xmlrpc.client 不存在 [错误]/InformationMethods.java:[7,32] 包 org.apache.xmlrpc.client 不存在
[错误] /InformationMethods.java:[10,25] 包 org.apache.xmlrpc 不存在 [错误]/InformationMethods.java:[11,32] 包 org.apache.xmlrpc.client 不存在

这是我的 POM.xml

的依赖项
 <modelVersion>4.0.0</modelVersion>
 <groupId>validateVoucher</groupId>
 <artifactId>validateVoucher</artifactId>
 <version>0.0.1-SNAPSHOT</version>
 <name>test</name>
<build>
<sourceDirectory>src</sourceDirectory>
<plugins>
  <plugin>
    <artifactId>maven-compiler-plugin</artifactId>
    <version>3.5.1</version>
    <configuration>
      <source>1.8</source>
      <target>1.8</target>
    </configuration>
  </plugin>
  <plugin>
    <artifactId>maven-war-plugin</artifactId>
    <version>2.6</version>
    <configuration>
      <warSourceDirectory>WebContent</warSourceDirectory>
      <failOnMissingWebXml>false</failOnMissingWebXml>
    </configuration>
   <dependencies>
 <dependency>
<groupId>org.apache.xmlrpc</groupId>
<artifactId>xmlrpc</artifactId>
<version>3.1.3</version>
<type>pom</type>
</dependency>

 <dependency>
<groupId>commons-httpclient</groupId>
<artifactId>commons-httpclient</artifactId>
<version>3.1</version>
 </dependency>

 <dependency>
<groupId>org.apache.ws.commons.util</groupId>
<artifactId>ws-commons-util</artifactId>
<version>1.0.2</version>
 </dependency>

<dependency>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
<version>1.2</version>
 </dependency>

 <dependency>
<groupId>xerces</groupId>
<artifactId>xercesImpl</artifactId>
<version>2.9.0</version>
 </dependency>

 <dependency>
<groupId>commons-codec</groupId>
<artifactId>commons-codec</artifactId>
<version>1.10</version>
 </dependency>

   <dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-api</artifactId>
<version>2.6.2</version>
 </dependency>

 <dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
<version>2.6.2</version>
 </dependency>  
      </dependencies>
  </plugin>
</plugins>
</build>
<packaging>war</packaging>
</project> 

我是不是漏掉了什么?

谢谢

编辑: [错误] /PersonInformationMethods.java:[16,9] 找不到符号 符号:class XmlRpcClient 位置:class PersonInformationMethods

[错误] /PersonInformationMethods.java:[16,35] 找不到符号 符号:class XmlRpcClient 位置:class PersonInformationMethods

[错误] /PersonInformationMethods.java:[97,26] 找不到符号 符号:class XmlRpcException 位置:class PersonInformationMethods

[错误] /PersonInformationMethods.java:[108,26] 找不到符号 符号:class XmlRpcException 位置:class PersonInformationMethods

[错误] /PersonInformationMethods.java:[117,17] 找不到符号 符号:class XmlRpcClientConfigImpl 位置:class PersonInformationMethods

[错误] /PersonInformationMethods.java:[117,53] 找不到符号 符号:class XmlRpcClientConfigImpl 位置:class PersonInformationMethods

[错误] /PersonInformationMethods.java:[129,20] 找不到符号 符号:class XmlRpcCommonsTransportFactory 位置:class PersonInformationMethods

编辑: 感谢你们的帮助,我不能接受两个答案,但我完全按照你们所说的做了。我只能赞成答案并将其中一个标记为正确。

从 maven 存储库中删除 jar 文件和 xmlrpc 文件夹,并尝试再次构建,并选中更新快照选项。有时 jar 文件不会完全下载

首先你应该纠正你的pom.xml。它在 build/plugins/plugin 内包含 <dependencies> 标签。必须在主元素中直接声明依赖项(在 <project> 内)。

XmlRpcCommonsTransportFactory 和您正在使用的其他 类 来自 xmlrpc-client,因为它可以在 Maven central 中找到。所以你应该删除对 xmlrpc 的依赖,而是使用:

<dependency>
    <groupId>org.apache.xmlrpc</groupId>
    <artifactId>xmlrpc-client</artifactId>
    <version>3.1.3</version>
    <type>pom</type>
</dependency>

检查您是否缺少以下任何依赖项:

  • 公地-logging.jar
  • ws-commons-util.jar
  • xmlrpc-client.jar
  • xmlrpc-common.jar
  • xmlrpc-server.jar