【问题标题】:maven dependency exists but classDefNotFound?maven依赖存在但classDefNotFound?
【发布时间】:2011-04-11 20:13:39
【问题描述】:

我的 pom 文件中有以下依赖项:-

<dependency>
    <groupId>org.jvnet.ws.wadl</groupId>
    <artifactId>wadl-core</artifactId>
    <version>1.1-SNAPSHOT</version>
</dependency>

系统上存在jar文件,可以解析依赖。但是当代码运行时,它在 java.lang.ClassNotFoundException: org.jvnet.ws.wadl.util.DSDispatcher 上失败。 DSDispatcher 存在于 jar 文件和正确的包中。谁能提出问题可能是什么?我尝试将 wadl-core pom 中的所有依赖项添加到我的 pom 中,但没有帮助,我尝试了依赖项的各种范围。

谢谢!

【问题讨论】:

  • 您如何运行您的应用程序? wadl-core 在运行时是否存在于类路径中(所以不仅在 maven repo 中)?
  • 嗨,Damien,我没有检查过这个。应用程序在 JBoss (5.1) 中运行,目前我正在使用 SOAP 工具进行测试(涉及两个 Web 服务 - 我调用了一个,它执行一些操作,然后启动一个过程来调用这个外部 wadl....)我如何在运行时检查类路径?
  • 谢谢!!我将 jar 添加到 jboss lib 并解决了错误,所以看起来你是正确的 - 类路径问题!

标签: maven-2 dependencies wadl


【解决方案1】:

根据您在 cmets 中的回答,您的项目似乎被打包到一个 war 文件(或 ear)中。与其将 wadl-core 放在 JBoss lib 中,不如将它真正嵌入到您的存档中。

如果您在应用程序的 pom.xml 中使用 &lt;packaging&gt;war&lt;/packaging&gt; 以及问题中提到的依赖声明,则 wadl-core 应该存在于您的 war 文件中的 WEB-INF/lib 中。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-11-23
    • 2017-07-01
    • 1970-01-01
    • 2022-12-18
    • 1970-01-01
    • 2017-07-27
    • 2011-04-22
    相关资源
    最近更新 更多