我在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东西:
所有帮助都非常感谢...
答案 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)
有一个静态类和静态方法来获取此信息。 示例:如何使用java代码打印
AbstractSessionLog.getLog().log(SessionLog.INFO, DatabaseLogin.getVersion());