本篇使用的Eclipse及JDK版本
- Eclipse版本
Version: Photon Release (4.8.0)
Build id: 20180619-1200
或者
Version: 2019-06 (4.12.0)
Build id: 20190614-1200
- Java 版本
JDK 1.8
创建JPA 项目及EclipseLink的下载
File>New>Other
选择 JPA>JPA Project
在创建窗口输入项目名称,选择JDK版本和JPA的版本。
连续点击下一步会选择JPA的库,如果该库不存在,需要在线下载。这里选择下载 EclipseLink 2.5.2 的版本。
选择下载的版本会出现 "zip file is empty”的错误。
出错原因及解析:
这里无法下载 EclipseLink 2.5.2的用户库。Use Library即用户库,在Eclipse中,库是一些jar的组合,通过库可以更方便的导入多个jar文件。除了用户库, 在Eclipse中,更常见的是JRE System Library。
在库中的jar档可以很容易看到包的结构和编译类,类似:
因为有Maven等包管理工具, 对于Eclipse本身的库的功能的需求就不是很必须了, Eclipse也逐渐弱化或取消了创建库的功能。针对以上问题,有两个解决方案:
- 下载EclipseLink相关的jar档,创建EclipseLink的用户库。
- 使用Maven管理EclipseLink依赖库。
创建EclipseLink的用户库
创建EclipseLink的用户库之前, 需要先下载EclipseLink的Jar档, 下载的地址是:
http://www.eclipse.org/eclipselink/downloads/链接
这里下载的版本是 EclipseLink 2.5.2, 该版本也可以到如下地址下载:
https://download.csdn.net/download/oscar999/14101715链接
解压后的目录如下:
需要的jar档位于 jlib目录中。
接下来就可以创建用户库了。创建步骤是:
Window>Preferences
定位到Java>Build Path>User Libraries, 界面如下:
点击New…按钮, 在弹出框中输入用户库的名字, 这里输入EclipseLink,创建完成后选中创建的库,点击右侧的“Add External JARs…”
将eclipselink.jar 以及jpa子目录下的jar档添加到该库中, 添加后的库的内容如下:
重复上面创建JPA Project的步骤, 在下面步骤中选择 EclipseLink用户库:
创建的项目目录结构如下:
该向导主要会在src目录的META-INF子目录下创建一个persistence.xml的文件。该文件就是JPA需要读取的配置文件。
使用Maven下载和管理EclipseLink依赖包
在Eclipse中创建一个Maven Project, 在Project的pom.xml 添加下载的地址和依赖的配置, 完整的配置如下:
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>cn.osxm.jcodef</groupId>
<artifactId>jpa_prj2</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>
<name>jpa_prj2</name>
<url>http://maven.apache.org</url>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<repositories>
<repository>
<id>jakarta.oss.sonatype.org</id>
<name>Jakarta OSS Sonatype Staging</name>
<url>https://jakarta.oss.sonatype.org/content/repositories/staging</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.eclipse.persistence</groupId>
<artifactId>eclipselink</artifactId>
<version>2.5.2</version>
<exclusions>
<exclusion>
<groupId>org.eclipse.persistence</groupId>
<artifactId>commonj.sdo</artifactId>
</exclusion>
</exclusions>
</dependency>
</dependencies>
</project>
创建成功的项目结构如下: