java - 无法解决对 URLUtil 的依赖关系,要求冲突

标签 java maven

尝试编译项目时出现以下错误:

Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/httpclient/util/URIUtil
    at org.apache.commons.vfs2.provider.URLFileName.getPathQueryEncoded(URLFileName.java:91)
    at org.apache.commons.vfs2.provider.URLFileName.getURIEncoded(URLFileName.java:161)
    at org.apache.commons.vfs2.provider.url.UrlFileObject.createURL(UrlFileObject.java:74)
    at org.apache.commons.vfs2.provider.url.UrlFileObject.doAttach(UrlFileObject.java:63)
    at org.apache.commons.vfs2.provider.AbstractFileObject.attach(AbstractFileObject.java:1505)
    at org.apache.commons.vfs2.provider.AbstractFileObject.getType(AbstractFileObject.java:489)
    .... (More project-scope traces)
Caused by: java.lang.ClassNotFoundException: org.apache.commons.httpclient.util.URIUtil
    at java.net.URLClassLoader$1.run(URLClassLoader.java:372)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:360)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
    ... 13 more

我的项目中有以下 Maven 依赖项:

    <dependency>
        <groupId>org.apache.httpcomponents</groupId>
        <artifactId>httpclient</artifactId>
        <version>4.3.4</version>
    </dependency>
    <dependency>
        <groupId>org.apache.commons</groupId>
        <artifactId>commons-vfs2</artifactId>
        <version>2.0</version>
    </dependency>

我绝对必须依赖于 HttpClient 版本 4.3.4 或更高版本,因为其他依赖项以及我们在以前的版本中遇到的各种错误。经过一番研究,我发现相关类 (URLUtil) 在 HttpClient 3.1 之后已从 HttpClient 中删除。

有什么办法可以解决这个问题吗?或者我可以使用另一个库来代替 vfs2?我正在尝试使用用户/密码和 key 身份验证方案通过 sftp 写入文件。

最佳答案

事实证明,HttpClient 3.x 和 4.x 版本之间的 Artifact 是不同的。我所要做的就是包括:

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

我真傻,以为他们会互相凌驾于对方之上。

关于java - 无法解决对 URLUtil 的依赖关系,要求冲突,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30600843/

相关文章:

java - StringIndexOutOfBoundsException

java - 如何调试maven enunciate插件tomcat web服务

java - 在 SIT 上运行时 Apache POI 错误

java - 如何删除颜色(使其透明)从 OpenGL 中的像素获取颜色

java.lang.NoSuchMethodError : org. jboss.logging.Logger.debugf(Ljava/lang/String;I)V WebLogic部署

java - 将 Java EAR 项目从 Maven 迁移到 Bazel?

java - Maven版本和java版本冲突

java - 处于WAITING状态的线程是否可以无限期等待

java - 清除特定的数组列表而不是它的所有副本

java - HQL 查询中出现意外 token 错误