使用 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
我正在尝试在 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