Java 泽西岛的NoClassDefFoundError

Java 泽西岛的NoClassDefFoundError,java,jersey,jax-rs,Java,Jersey,Jax Rs,由于下面的NoClassDefFoundError错误,我的应用程序返回500错误。我正在使用Weblogic 12.1.2,其中包括Jersey 我的pom文件: <properties> <com.sun.jersey.version>1.17.1</com.sun.jersey.version> ... <dependency> <groupId>org

由于下面的NoClassDefFoundError错误,我的应用程序返回500错误。我正在使用Weblogic 12.1.2,其中包括Jersey

我的pom文件:

   <properties>
        <com.sun.jersey.version>1.17.1</com.sun.jersey.version>
...
            <dependency>
                <groupId>org.atmosphere</groupId>
                <artifactId>atmosphere-jersey</artifactId>
                <version>0.7.2</version>
                <type>jar</type>
            </dependency>
           <dependency>
                <groupId>com.sun.jersey</groupId>
                <artifactId>jersey-server</artifactId>
                <version>${com.sun.jersey.version}</version>
                <type>jar</type>
            </dependency>
            <dependency>
                <groupId>com.sun.jersey</groupId>
                <artifactId>jersey-client</artifactId>
                <version>${com.sun.jersey.version}</version>
                <type>jar</type>
            </dependency>
            <dependency>
                <groupId>com.sun.jersey.contribs</groupId>
                <artifactId>jersey-atom-abdera</artifactId>
                <version>${com.sun.jersey.version}</version>
                <type>jar</type>
            </dependency>
            <dependency>
                <groupId>com.sun.jersey</groupId>
                <artifactId>jersey-atom</artifactId>
                <version>${com.sun.jersey.version}</version>
                <type>jar</type>
            </dependency>
            <dependency>
                <groupId>com.sun.jersey</groupId>
                <artifactId>jersey-json</artifactId>
                <version>${com.sun.jersey.version}</version>
                <type>jar</type>
            </dependency>
            <dependency>
                <groupId>com.sun.jersey.contribs</groupId>
                <artifactId>jersey-multipart</artifactId>
                <version>${com.sun.jersey.version}</version>
                <type>jar</type>
            </dependency>
            <dependency>
                <groupId>com.sun.jersey.contribs</groupId>
                <artifactId>jersey-spring</artifactId>
                <version>${com.sun.jersey.version}</version>
                <exclusions>
                    <exclusion>
                        <groupId>org.springframework</groupId>
                        <artifactId>spring-core</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>com.sun.jersey.contribs</groupId>
                <artifactId>jersey-guice</artifactId>
                <version>${com.sun.jersey.version}</version>
                <type>jar</type>
            </dependency>


]] Root cause of ServletException.
java.lang.NoClassDefFoundError: com/sun/jersey/core/impl/provider/header/WriterUtil
        at com.sun.jersey.core.impl.provider.header.MediaTypeProvider.toString(MediaTypeProvider.java:66)
        at com.sun.jersey.core.impl.provider.header.MediaTypeProvider.toString(MediaTypeProvider.java:53)
        at com.sun.jersey.spi.container.ContainerResponse.getHeaderValue(ContainerResponse.java:213)
        at com.sun.jersey.spi.container.servlet.WebComponent$Writer.writeHeaders(WebComponent.java:347)
        at com.sun.jersey.spi.container.servlet.WebComponent$Writer.writeStatusAndHeaders(WebComponent.java:335)
        Truncated. see log file for 

如果您想使用Weblogic提供的库,那么依赖项应该标记为

<scope>provided</scope>
已提供

否则,您将引入外部依赖项并使用这些。。。换句话说,您是根据外部依赖项编译和打包应用程序,而不是Weblogic for runtime提供的库。

您知道在哪里可以找到附带的Jersey jar吗?我在wlserver/模块中找不到它。Oracle的一个链接说Jersey 1.13正在使用,但我没有找到它。在Weblogic 11g上,位置在这里WLU HOME/common/deployable libraries——这里的文档中提到了:我实际上在Oracle_common/Module中找到了它们。谢谢这在Weblogic 12c上?(仅供将来参考)是WebLogic12C。我不知道为什么在启动服务器时,它没有告诉我WL使用的所有第三方JAR。我在日志中只看到这个JAR,因为它与应用程序中的JAR有冲突;如果这是您想要做的,那么这很有趣:
<scope>provided</scope>