两部分问题:
第一部分:需要哪个JAR?不是javax.persistence-2.0.0.jar有必需的类,特别是javax.persistence。*?
堆栈跟踪如下:
init:
deps-jar:
Created dir: /home/thufir/NetBeansProjects/JavaApplication12/build
Updating property file: /home/thufir/NetBeansProjects/JavaApplication12/build/built-jar.properties
Created dir: /home/thufir/NetBeansProjects/JavaApplication12/build/classes
Created dir: /home/thufir/NetBeansProjects/JavaApplication12/build/classes/META-INF
Copying 1 file to /home/thufir/NetBeansProjects/JavaApplication12/build/classes/META-INF
Created dir: /home/thufir/NetBeansProjects/JavaApplication12/build/empty
Created dir: /home/thufir/NetBeansProjects/JavaApplication12/build/generated-sources/ap-source-output
Compiling 2 source files to /home/thufir/NetBeansProjects/JavaApplication12/build/classes
/home/thufir/NetBeansProjects/JavaApplication12/src/javaapplication12/Fud30Groups.java:8: error: package javax.persistence does not exist
import javax.persistence.*;
/home/thufir/NetBeansProjects/JavaApplication12/src/javaapplication12/Fud30Groups.java:15: error: cannot find symbol
@Entity
symbol: class Entity
/home/thufir/NetBeansProjects/JavaApplication12/src/javaapplication12/Fud30Groups.java:16: error: cannot find symbol
@Table(name = "fud30_groups", catalog = "fudforum", schema = "")
symbol: class Table
/home/thufir/NetBeansProjects/JavaApplication12/src/javaapplication12/Fud30Groups.java:18: error: cannot find symbol
@NamedQueries({
symbol: class NamedQueries
/home/thufir/NetBeansProjects/JavaApplication12/src/javaapplication12/Fud30Groups.java:28: error: cannot find symbol
@Id
symbol: class Id
location: class Fud30Groups
/home/thufir/NetBeansProjects/JavaApplication12/src/javaapplication12/Fud30Groups.java:29: error: cannot find symbol
@GeneratedValue(strategy = GenerationType.IDENTITY)
symbol: class GeneratedValue
location: class Fud30Groups
/home/thufir/NetBeansProjects/JavaApplication12/src/javaapplication12/Fud30Groups.java:30: error: cannot find symbol
@Basic(optional = false)
symbol: class Basic
location: class Fud30Groups
/home/thufir/NetBeansProjects/JavaApplication12/src/javaapplication12/Fud30Groups.java:31: error: cannot find symbol
@Column(name = "id")
symbol: class Column
location: class Fud30Groups
/home/thufir/NetBeansProjects/JavaApplication12/src/javaapplication12/Fud30Groups.java:33: error: cannot find symbol
@Basic(optional = false)
symbol: class Basic
location: class Fud30Groups
/home/thufir/NetBeansProjects/JavaApplication12/src/javaapplication12/Fud30Groups.java:34: error: cannot find symbol
@Column(name = "name")
symbol: class Column
location: class Fud30Groups
/home/thufir/NetBeansProjects/JavaApplication12/src/javaapplication12/Fud30Groups.java:36: error: cannot find symbol
@Basic(optional = false)
symbol: class Basic
location: class Fud30Groups
/home/thufir/NetBeansProjects/JavaApplication12/src/javaapplication12/Fud30Groups.java:37: error: cannot find symbol
@Column(name = "inherit_id")
symbol: class Column
location: class Fud30Groups
/home/thufir/NetBeansProjects/JavaApplication12/src/javaapplication12/Fud30Groups.java:39: error: cannot find symbol
@Basic(optional = false)
symbol: class Basic
location: class Fud30Groups
/home/thufir/NetBeansProjects/JavaApplication12/src/javaapplication12/Fud30Groups.java:40: error: cannot find symbol
@Column(name = "forum_id")
symbol: class Column
location: class Fud30Groups
/home/thufir/NetBeansProjects/JavaApplication12/src/javaapplication12/Fud30Groups.java:42: error: cannot find symbol
@Basic(optional = false)
symbol: class Basic
location: class Fud30Groups
/home/thufir/NetBeansProjects/JavaApplication12/src/javaapplication12/Fud30Groups.java:43: error: cannot find symbol
@Column(name = "groups_opt")
symbol: class Column
location: class Fud30Groups
/home/thufir/NetBeansProjects/JavaApplication12/src/javaapplication12/Fud30Groups.java:45: error: cannot find symbol
@Basic(optional = false)
symbol: class Basic
location: class Fud30Groups
/home/thufir/NetBeansProjects/JavaApplication12/src/javaapplication12/Fud30Groups.java:46: error: cannot find symbol
@Column(name = "groups_opti")
symbol: class Column
location: class Fud30Groups
18 errors
/home/thufir/NetBeansProjects/JavaApplication12/nbproject/build-impl.xml:605: The following error occurred while executing this line:
/home/thufir/NetBeansProjects/JavaApplication12/nbproject/build-impl.xml:246: Compile failed; see the compiler error output for details.
BUILD FAILED (total time: 0 seconds)
问题的第二部分是,Netbeans的(可能)错误是什么?直到昨天,似乎IDE会自动将所需的类添加到类路径中,就像在这里从现有数据库生成@Entity类一样。在这种特殊情况下,Netbeans确实添加了JAR。
但是,因为它们是在项目外部添加的,所以没有lib文件夹。不幸的是,我还不熟悉,还没有真正深入了解build.xml以了解发生了什么,但是从图书馆管理器看起来它们就是这样:
thufir@dur:~$ tree netbeans-7.1.1/java/modules/ext/eclipselink/
netbeans-7.1.1/java/modules/ext/eclipselink/
├── eclipselink-2.3.0.jar
├── eclipselink-jpa-modelgen-2.3.0.jar
├── javax.persistence-2.0.jar
└── org.eclipse.persistence.jpa.jpql_1.0.0.jar
0 directories, 4 files
thufir@dur:~$
似乎不符合我的回忆,过去需要额外的步骤,下载缺少的JAR。 Netbeans中的设置是错误还是已损坏?
答案 0 :(得分:-1)
幸运数字13,Netbeans项目13,与Netbeans项目12尽可能相同,构建良好(嗯,不是很好,但它确实构建):
清理和构建:
init:
deps-clean:
Updating property file: /home/thufir/NetBeansProjects/JavaApplication13/build/built-clean.properties
Deleting directory /home/thufir/NetBeansProjects/JavaApplication13/build
clean:
init:
deps-jar:
Created dir: /home/thufir/NetBeansProjects/JavaApplication13/build
Updating property file: /home/thufir/NetBeansProjects/JavaApplication13/build/built-jar.properties
Created dir: /home/thufir/NetBeansProjects/JavaApplication13/build/classes
Created dir: /home/thufir/NetBeansProjects/JavaApplication13/build/classes/META-INF
Copying 1 file to /home/thufir/NetBeansProjects/JavaApplication13/build/classes/META-INF
Created dir: /home/thufir/NetBeansProjects/JavaApplication13/build/empty
Created dir: /home/thufir/NetBeansProjects/JavaApplication13/build/generated-sources/ap-source-output
Compiling 2 source files to /home/thufir/NetBeansProjects/JavaApplication13/build/classes
warning: Supported source version 'RELEASE_6' from annotation processor 'org.eclipse.persistence.internal.jpa.modelgen.CanonicalModelProcessor' less than -source '1.7'
Note: Creating non-static metadata factory ...
Note: Found Option : eclipselink.canonicalmodel.use_static_factory, with value: false
Note: Optional file was not found: META-INF/orm.xml continuing with generation.
Note: Optional file was not found: META-INF/eclipselink-orm.xml continuing with generation.
Note: Found Option : eclipselink.canonicalmodel.use_static_factory, with value: false
Note: Optional file was not found: META-INF/orm.xml continuing with generation.
Note: Optional file was not found: META-INF/eclipselink-orm.xml continuing with generation.
warning: The following options were not recognized by any processor: '[eclipselink.canonicalmodel.use_static_factory]'
1 warning
Copying 2 files to /home/thufir/NetBeansProjects/JavaApplication13/build/classes
compile:
BUILD SUCCESSFUL (total time: 6 seconds)
这两个项目:
thufir@dur:~/NetBeansProjects$
thufir@dur:~/NetBeansProjects$ tree JavaApplication12
JavaApplication12
├── build
│ ├── built-jar.properties
│ ├── classes
│ │ └── META-INF
│ │ └── persistence.xml
│ ├── empty
│ └── generated-sources
│ └── ap-source-output
├── build.xml
├── manifest.mf
├── nbproject
│ ├── build-impl.xml
│ ├── genfiles.properties
│ ├── private
│ │ └── private.properties
│ ├── project.properties
│ └── project.xml
└── src
├── javaapplication12
│ ├── Fud30Groups.java
│ └── JavaApplication12.java
└── META-INF
└── persistence.xml
11 directories, 12 files
thufir@dur:~/NetBeansProjects$
thufir@dur:~/NetBeansProjects$ tree JavaApplication13
JavaApplication13
├── build
│ ├── built-jar.properties
│ ├── classes
│ │ ├── javaapplication13
│ │ │ ├── Fud30Groups_.class
│ │ │ ├── Fud30Groups.class
│ │ │ ├── Fud30Groups.java
│ │ │ ├── JavaApplication13.class
│ │ │ └── JavaApplication13.java
│ │ └── META-INF
│ │ └── persistence.xml
│ ├── empty
│ └── generated-sources
│ └── ap-source-output
│ └── javaapplication13
│ └── Fud30Groups_.java
├── build.xml
├── lib
│ ├── CopyLibs
│ │ └── org-netbeans-modules-java-j2seproject-copylibstask.jar
│ ├── eclipselink
│ │ ├── eclipselink-2.3.0.jar
│ │ ├── javax.persistence-2.0.jar
│ │ └── org.eclipse.persistence.jpa.jpql_1.0.0.jar
│ ├── eclipselinkmodelgen
│ │ └── eclipselink-jpa-modelgen-2.3.0.jar
│ └── nblibraries.properties
├── manifest.mf
├── nbproject
│ ├── build-impl.xml
│ ├── genfiles.properties
│ ├── private
│ │ ├── config.properties
│ │ └── private.properties
│ ├── project.properties
│ └── project.xml
└── src
├── javaapplication13
│ ├── Fud30Groups.java
│ └── JavaApplication13.java
└── META-INF
└── persistence.xml
17 directories, 25 files
thufir@dur:~/NetBeansProjects$
区别在于项目13有一个./lib文件夹,而项目12则使用“外部”JAR文件夹。
也许我的Netbeans安装已损坏,或设置错误,或者我对项目12的方法有误?我想像外部JAR一样,正如项目12所做的那样,因为各种功能,如图书馆管理器,可以更好地工作。