1

我真的被一个重大的情况困住了。我在 maven 依赖中有一个类,也可以从类中引用,但在运行服务器时显示 ClassNotFoundException。

提前致谢

更新:

环境:-

  • 日食朱诺。
  • Maven M2E 插件
  • 雄猫 7

我在 Eclipse 中创建了一个 Maven 项目,并将其转换为方面更改的动态 Web 项目 - 并在 pom.xml 中添加了以下内容,还给出了 mvn eclipse:eclipse -Dwtpversion=2.0

 <dependency>
            <groupId>com.sun.jersey</groupId>
            <artifactId>jersey-server</artifactId>
            <version>1.8</version>
        </dependency>

这已经下载了包含类 com.sun.jersey.spi.container.servlet.ServletContainer 的可用 jar

但是在运行服务器时 - java.lang.ClassNotFoundException: com.sun.jersey.spi.container.servlet.ServletContainer

4

2 回答 2

1

首先,我建议您使用最新版本的 Eclipse(现在是 4.3 Kepler),因为它内置了 m2e 插件,并且对 Maven 的支持要好得多。您不再需要手动将 Maven 依赖项添加到项目类路径中。

尝试从 Eclipse 中创建一个新的 Maven 项目,然后选择 maven-archetype-webapp 作为原型。Eclipse 将为您设置所有内容,包括 Maven 依赖项的类路径。

每当您修改 POM.xml 时,请确保您的类路径已更新,尽管大多数情况下这是由 m2e 插件自动完成的。查看 Eclipse 下方的 Markers 选项卡,看看是否有此类问题,如果您看到类似“Maven 问题,项目配置不是最新的”,请右键单击您的项目并选择 Maven->Update Projects .

于 2013-10-07T13:12:44.827 回答
0

首先,确保您添加了正确的依赖项:

我认为您还需要“jersey-servlet”工件

然后,确保将 Maven 依赖项添加到 Java 构建路径?

如果没有,请尝试以下操作:

  1. 打开项目属性并选择 Java Build path
  2. 点击“添加库”
  3. 选择“Maven 托管依赖项”</li>
于 2013-10-07T12:39:24.427 回答