如何在GlashFish 4.0中更改EclipseLink?

Tin*_*iny 6 netbeans jpa glassfish eclipselink glassfish-4

我想在GlashFish 4.0中将EclipseLink从2.5.0更改为2.5.1.我已经下载OSGi包并替换了以下jar文件

  1. org.eclipse.persistence.antlr.jar
  2. org.eclipse.persistence.jpa.jar
  3. org.eclipse.persistence.asm.jar
  4. org.eclipse.persistence.jpa.modelgen.jar
  5. org.eclipse.persistence.core.jar
  6. org.eclipse.persistence.oracle.jar
  7. javax.persistence.jar

$GLASSFISH_HOME/glassfish/modules.


执行此操作后,版本仍然保持不变.以下代码,

String version = org.eclipse.persistence.Version.getVersion();
System.out.println("EclipseLink version : " + version);
Run Code Online (Sandbox Code Playgroud)

仍然显示版本2.5.0.


捆绑包不包含eclipselink-x.x.x.jar.

还有什么需要改变?我正在使用NetBeans 7.2.1.

unw*_*ich 9

你忘了一些文件,你需要完整的清单:

  1. org.eclipse.persistence.antlr.jar
  2. org.eclipse.persistence.asm.jar
  3. org.eclipse.persistence.core.jar
  4. org.eclipse.persistence.dbws.jar
  5. org.eclipse.persistence.jpa.jpql.jar
  6. org.eclipse.persistence.jpa.jar
  7. org.eclipse.persistence.jpa.modelgen.jar
  8. org.eclipse.persistence.moxy.jar
  9. org.eclipse.persistence.oracle.jar
  10. javax.persistence.jar

您不必重命名文件,可以删除以旧文件开头org.eclipse并将所需文件复制到该modules文件夹.这应该可以解决问题.

更新:如果它不起作用,您可能必须清除OSGI缓存.要做到这一点关闭服务器,并删除该文件夹felix

$GLASSFISH_HOME/glassfish/domains/domain/osgi-cache/
Run Code Online (Sandbox Code Playgroud)

重新启动服务器并等一下,它必须读取OSGI模块信息以重建缓存.