使用maven创建WAR时的编译错误

时间:2016-08-30 09:50:53

标签: eclipse web-services maven pom.xml xml-rpc

我正在尝试使用Eclipse中的maven创建一个WAR文件,并且我得到以下错误

[ERROR] /InformationMethods.java:[6,32]包org.apache.xmlrpc.client不存在 [错误] /InformationMethods.java:[7,32]包org.apache.xmlrpc.client不存在
[ERROR] /InformationMethods.java:[10,25]包org.apache.xmlrpc不存在 [ERROR] /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> 

我错过了什么吗?

由于

编辑: [ERROR] /PersonInformationMethods.java:[16,9]无法找到符号   符号:类XmlRpcClient   location:类PersonInformationMethods

[ERROR] /PersonInformationMethods.java:[16,35]无法找到符号   符号:类XmlRpcClient   location:类PersonInformationMethods

[ERROR] /PersonInformationMethods.java:[97,26]无法找到符号   symbol:类XmlRpcException   location:类PersonInformationMethods

[ERROR] /PersonInformationMethods.java:[108,26]无法找到符号   symbol:类XmlRpcException   location:类PersonInformationMethods

[ERROR] /PersonInformationMethods.java:[117,17]无法找到符号   symbol:类XmlRpcClientConfigImpl   location:类PersonInformationMethods

[ERROR] /PersonInformationMethods.java:[117,53]无法找到符号   symbol:类XmlRpcClientConfigImpl   location:类PersonInformationMethods

[ERROR] /PersonInformationMethods.java:[129,20]无法找到符号   symbol:类XmlRpcCommonsTransportFactory   location:类PersonInformationMethods

编辑: 谢谢你的帮助,我不能接受两个答案,但我完全按照你们两个人的说法做了。我只能对答案进行投票,并将其标记为正确。

3 个答案:

答案 0 :(得分:1)

首先,您应该更正您的pom.xml。它在build / plugins / plugin中包含<dependencies>标记。必须直接在main元素中声明依赖关系(在<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>

答案 1 :(得分:1)

检查您是否遗漏了任何这些依赖项:

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

答案 2 :(得分:0)

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

相关问题