gpt4 book ai didi

java.lang.NoSuchMethodError : org. hsqldb.DatabaseURL.parseURL maven运行时

转载 作者:行者123 更新时间:2023-12-01 12:21:08 25 4
gpt4 key购买 nike

出现以下错误。问题是当我们重新启动服务器时它会间歇性地发生。有时会出现错误,有时则不会。如何解决这个问题?我正在使用maven。

java.lang.NoSuchMethodError: org.hsqldb.DatabaseURL.parseURL(Ljava/lang/String;ZZ)Lorg/hsqldb/persist/HsqlProperties;
org.codehaus.groovy.runtime.InvokerInvocationException: java.lang.NoSuchMethodError: org.hsqldb.DatabaseURL.parseURL(Ljava/lang/String;ZZ)Lorg/hsqldb/persist/HsqlProperties;

编辑:它不起作用。旧版本来自hadoop-client:2.0.0-mr1-cdh4.2.0。我从中排除了 hsqldb 并检查了依赖关系树,但旧版本没有显示。但我仍然在运行时收到错误。

最佳答案

您几乎肯定存在依赖项不匹配。

确保您知道您希望使用哪个版本的 hsqldb。

检查应用程序正在使用的依赖项列表,我的意思是构建的应用程序中的实际 JAR 文件,而不是 Maven 依赖项列表。

很可能您拥有错误版本的 hsqldb jar 或多个不同版本(即正确版本和错误版本)。

这可能是由于引入意外的传递依赖项而导致的

要确定传递依赖项的来源,您可以使用 Maven dependency:tree 目标:

例如

mvn dependency:tree -Dverbose -Dincludes=hsqldb

其中 hsqldb 是您正在查找的 Artifact 的名称。

http://maven.apache.org/plugins/maven-dependency-plugin/examples/resolving-conflicts-using-the-dependency-tree.html

一旦确定了多个版本的来源,您就可以从这些依赖项中排除,例如:

<dependency>
<groupId>sample.ProjectA</groupId>
<artifactId>Project-A</artifactId>
<version>1.0</version>
<scope>compile</scope>
<exclusions>
<exclusion> <!-- declare the exclusion here -->
<groupId>sample.ProjectB</groupId>
<artifactId>Project-B</artifactId>
</exclusion>
</exclusions>
</dependency>

更多详细信息请参见:http://maven.apache.org/guides/introduction/introduction-to-optional-and-excludes-dependencies.html

关于java.lang.NoSuchMethodError : org. hsqldb.DatabaseURL.parseURL maven运行时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26652422/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com