获取ClassNotFoundException org.eclipse.persistence.jpa.rs.resources.MetadataResource

时间:2015-05-07 07:29:28

标签: java jpa glassfish eclipselink jpa-rs

我试图浏览JPA-RS教程,例如:
http://java.dzone.com/articles/introducing-eclipselink-jpa-rs
http://www.eclipse.org/eclipselink/documentation/2.5/solutions/restful_jpa.htm

但是在尝试部署(使用maven和glassfish插件)我的glassfish上的应用程序后,我得到以下错误堆栈跟踪:

WebModule[/rest]Servlet /rest threw load() exception java.lang.ClassNotFoundException: 
org.eclipse.persistence.jpa.rs.resources.MetadataResource at 
org.glassfish.web.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1783) at
org.glassfish.web.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1633
) at org.eclipse.persistence.jpa.rs.service.JPARSApplication.(JPARSApplication.java:62) at 
sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at 
sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) at 
...

我在导入的依赖项中找不到该类:

<dependency>
    <groupId>javax</groupId>
    <artifactId>javaee-api</artifactId>
    <version>7.0</version>
    <scope>provided</scope>
</dependency>
<dependency>
    <groupId>org.eclipse.persistence</groupId>
    <artifactId>eclipselink</artifactId>
    <version>2.5.0</version>
    <scope>provided</scope>
</dependency>
<dependency>
    <groupId>javax.ws.rs</groupId>
    <artifactId>javax.ws.rs-api</artifactId>
    <version>2.0.1</version>
    <scope>provided</scope>
</dependency>
<dependency>
    <groupId>org.eclipse.persistence</groupId>
    <artifactId>org.eclipse.persistence.jpars</artifactId>
    <version>2.6.0</version>
</dependency>

通过搜索该错误,我找不到与我分享同样问题的人。您是否能够通过获得该问题的解决方案来帮助我?如果您需要有关该项目的更多文本/背景信息,请告诉我。

亲切的问候。

1 个答案:

答案 0 :(得分:0)

使用相同版本的eclipselink依赖项:eclipselinkorg.eclipse.persistence.jpars都应为2.6.0,或两者都应为2.5.0。

使用2.6.0时org.eclipse.persistence.jpa.rs.resources.MetadataResource位于eclipselink.jar