2016-10-02 73 views
2

我试图从here编译一些编辑过的源代码,但是我一直收到很多关于名为“javax.persistence”的包的错误。缺少默认Java包?

这是我的IDE版本 -

IntelliJ IDEA 2016.2.4 
Build #IC-162.2032.8, built on September 9, 2016 
JRE: 1.8.0_112-release-b343 x86 
JVM: OpenJDK Server VM by JetBrains s.r.o 

我的JDK似乎不包括这个包,因为我已经在SDK标签链接整个JDK。有谁知道我做错了什么?这是我的消息窗口的输出 -

Information:Using javac 1.8.0_101 to compile java sources 
Information:java: Errors occurred while compiling module 'BctalkBumpBot-1.0' 
Information:2/10/2016 9:10 PM - Compilation completed with 37 errors and 3 warnings in 3s 3ms 
Warning:java: source value 1.5 is obsolete and will be removed in a future release 
Warning:java: target value 1.5 is obsolete and will be removed in a future release 
Warning:java: To suppress warnings about obsolete options, use -Xlint:-options. 
C:\Users\gabri\Desktop\BctalkBumpBot-1.0\src\com\achow101\bumpbot\BumpEntry.java 
Error:(21, 1) java: package javax.persistence does not exist 
Error:(26, 2) java: cannot find symbol 
    symbol: class Entity 
Error:(29, 6) java: cannot find symbol 
    symbol: class Id 
    location: class com.achow101.bumpbot.BumpEntry 
C:\Users\gabri\Desktop\BctalkBumpBot-1.0\src\com\achow101\bumpbot\DoBumps.java 
Error:(26, 25) java: package javax.persistence does not exist 
Error:(27, 25) java: package javax.persistence does not exist 
Error:(28, 25) java: package javax.persistence does not exist 
Error:(29, 25) java: package javax.persistence does not exist 
Error:(30, 34) java: package javax.persistence.criteria does not exist 
Error:(31, 34) java: package javax.persistence.criteria does not exist 
Error:(32, 34) java: package javax.persistence.criteria does not exist 
Error:(48, 9) java: cannot find symbol 
    symbol: class EntityManagerFactory 
    location: class com.achow101.bumpbot.DoBumps 
Error:(48, 36) java: cannot find symbol 
    symbol: variable Persistence 
    location: class com.achow101.bumpbot.DoBumps 
Error:(49, 9) java: cannot find symbol 
    symbol: class EntityManager 
    location: class com.achow101.bumpbot.DoBumps 
Error:(50, 9) java: cannot find symbol 
    symbol: class CriteriaBuilder 
    location: class com.achow101.bumpbot.DoBumps 
Error:(56, 17) java: cannot find symbol 
    symbol: class CriteriaQuery 
    location: class com.achow101.bumpbot.DoBumps 
Error:(57, 17) java: cannot find symbol 
    symbol: class Root 
    location: class com.achow101.bumpbot.DoBumps 
Error:(59, 17) java: cannot find symbol 
    symbol: class TypedQuery 
    location: class com.achow101.bumpbot.DoBumps 
C:\Users\gabri\Desktop\BctalkBumpBot-1.0\src\com\achow101\bumpbot\BumpBot.java 
Error:(40, 25) java: package javax.persistence does not exist 
Error:(41, 25) java: package javax.persistence does not exist 
Error:(42, 25) java: package javax.persistence does not exist 
Error:(43, 25) java: package javax.persistence does not exist 
Error:(44, 34) java: package javax.persistence.criteria does not exist 
Error:(45, 34) java: package javax.persistence.criteria does not exist 
Error:(46, 34) java: package javax.persistence.criteria does not exist 
Error:(113, 9) java: cannot find symbol 
    symbol: class EntityManagerFactory 
    location: class com.achow101.bumpbot.BumpBot 
Error:(113, 36) java: cannot find symbol 
    symbol: variable Persistence 
    location: class com.achow101.bumpbot.BumpBot 
Error:(114, 9) java: cannot find symbol 
    symbol: class EntityManager 
    location: class com.achow101.bumpbot.BumpBot 
Error:(117, 9) java: cannot find symbol 
    symbol: class CriteriaBuilder 
    location: class com.achow101.bumpbot.BumpBot 
Error:(118, 9) java: cannot find symbol 
    symbol: class CriteriaQuery 
    location: class com.achow101.bumpbot.BumpBot 
Error:(119, 9) java: cannot find symbol 
    symbol: class Root 
    location: class com.achow101.bumpbot.BumpBot 
Error:(121, 9) java: cannot find symbol 
    symbol: class TypedQuery 
    location: class com.achow101.bumpbot.BumpBot 
Error:(165, 17) java: cannot find symbol 
    symbol: class EntityManagerFactory 
Error:(165, 44) java: cannot find symbol 
    symbol: variable Persistence 
Error:(166, 17) java: cannot find symbol 
    symbol: class EntityManager 
Error:(287, 17) java: cannot find symbol 
    symbol: class EntityManagerFactory 
Error:(287, 44) java: cannot find symbol 
    symbol: variable Persistence 
Error:(288, 17) java: cannot find symbol 
    symbol: class EntityManager 

任何帮助表示赞赏。

回答

2

学习阅读错误消息。你正试图编译需要javax.persistence类的东西。这些不包括在标准库中(它们在某个时间点,但没有多年)。
另外,您确实没有安装实际的JDK,但是安装了JRE。 IntelliJ显然不介意,这让我感到惊讶。似乎它正在使用一个内部编译器。
安装JDK,从某个地方获取JEE或至少一个JPA实现(Hibernate或Eclipselink很好),然后离开。

+0

我安装了JRE,但在IntelliJ请求JDK之后,我在其上安装了JDK。我以为这意味着我有一个JDK? –

+0

你应该,如果它被正确配置。从windows/system32中删除java * .exe。并将Hibernate或Eclipselink添加到您的项目中以获得JPA功能。 – jwenting

+0

我的IntelliJ安装是否损坏?我之前安装了objectdb,而不是Eclipselink。以下是一些截图 - http://imgur.com/a/lymM8 –