来自本地安装的jar的Jersey中的NoClassDefFoundError

时间:2014-01-07 20:06:41

标签: java maven glassfish dependencies jersey

我需要在Jersey服务器端代码中使用私有Jar文件。我手动安装了依赖项并检查它是否真的存在,然后我添加了一个调用其中一个Jars的类,这些类已被Netbeans成功导入。但是,当尝试运行代码时,我收到以下错误:

  

2014年1月7日下午8:59:42 org.glassfish.jersey.server.ServerRuntime $ Responder mapException   警告:WebApplicationException导致:   java.lang.NoClassDefFoundError:wrappers / ExtractFeaturesForGivenText

这是例外的代码:

try {
        ExtractFeaturesForGivenText.main(param);
    } catch (Exception ex) {
        Logger.getLogger(AnalysisController.class.getName()).
                log(Level.SEVERE, null, ex);
    }

和POM文件中的条目:

<dependency>
        <groupId>featureExtractor</groupId>
        <artifactId>featureExtractor</artifactId>
        <version>0.8</version>
        <scope>provided</scope>
    </dependency>

有什么想法吗?

1 个答案:

答案 0 :(得分:2)

<dependency>
    <groupId>featureExtractor</groupId>
    <artifactId>featureExtractor</artifactId>
    <version>0.8</version>
    <scope>provided</scope>
</dependency>

由于您的依赖项具有范围provided,因此该依赖项应由容器提供(在您的情况下为Glassfish)。

因此,您可以删除Glassfish上的featureExtractor jar,也可以删除依赖项的范围以将其附加到应用程序。