如何找到我的 Eclipse 项目使用的 EclipseLink 版本?

How to find what version of EclipseLink my Eclipse Project is using?

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

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

我在哪里可以找到这个 属性?我到处搜索,但我找不到它 - 我知道我以前偶然发现过它,所以它肯定存在....

这个问题试图弄清我几个月前提出的关于 eclipselink 和 Jersey REST 的一个问题的问题,这个问题仍然没有得到解决: 这应该用 jersey 2.22.1 和 eclipselink 2.6.1 修复,但我认为在我的设置中的某个地方,eclipselink 2.6.0 仍在徘徊并把整个事情搞砸了。非常沮丧!

我知道这个项目用的是eclipselink,因为下面的代码returns 2.6.1时项目是运行。然而,之前我看到即使这是 2.6.1,某处的 eclipselink 配置(我不记得在哪里 - 哦!)仍然说版本 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 内容:

非常感谢所有帮助...

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

我的说法是,glassfish 4(有点旧)是:

<B>EclipseLink 2.5 Read Me</B>

Duplicated! Refer this

There is a static class and static method to get this information. Example: How to print in java code

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