如何查找Eclipse Project正在使用的EclipseLink版本?

时间:2016-03-04 12:28:17

标签: jersey glassfish eclipselink

我在Eclipse中开发了一个Maven jersey-quickstart-webapp项目。该项目是带有angularjs javascript前端的JERSEY REST后端。

我想知道如何检查我的项目正在使用的EclipseLink版本。

我在哪里可以找到这家酒店?我已经搜索过高低,但我找不到它 - 我知道我之前曾经偶然发现它,所以它肯定存在......

这个问题试图找到我几个月前提出的关于eclipselink和Jersey REST问题的问题的底部,这个问题仍未解决:Class not found when using JAX-RS with Eclipse and Glassfish 这应该通过jersey 2.22.1和eclipselink 2.6.1来修复,但我认为在我的设置中的某个地方,eclipselink 2.6.0仍然悬而未决,搞砸了整个事情。非常令人沮丧!

我知道eclipselink正在这个项目中使用,因为以下代码在项目运行时返回2.6.1。然而,之前我看到过,即使这是在说2.6.1,eclipselink配置在某个地方(我记不清哪里 - doh!)仍然在说版本2.6.0。

//This helps us tell what version of eclipse link we are using
Class<?> myClass = Class.forName("org.eclipse.persistence.Version");
Method myMethod = myClass.getMethod("getVersion");
String version = myMethod.invoke(null).toString();
System.out.println("version = " + version);

这是Maven依赖层次结构的样子 - 你可以看到它里面没有eclipselink东西: Maven dependency hierarchy

所有帮助都非常感谢...

2 个答案:

答案 0 :(得分:1)

您正在运行的eclipselink由Glassfish服务器提供。查看glassfish / modules目录并找到org.eclipse.persistence.core.jar文件。在里面它将是一个readme.html。打开它,Glassfish中安装的eclipselink版本将在那里。

我说,对于glassfish 4(有点旧)是:

<B>EclipseLink 2.5 Read Me</B>

答案 1 :(得分:1)

Duplicated! Refer this

  

有一个静态类和静态方法来获取此信息。   示例:如何使用java代码打印

AbstractSessionLog.getLog().log(SessionLog.INFO, DatabaseLogin.getVersion());