4

2 つの部分からなる質問:

最初の部分: どの 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)

質問の 2 番目の部分は、Netbeans の (潜在的に) 何が問題なのかということです。昨日まで、ここのように既存のデータベースから @Entity クラスを生成すると、IDE が必要なクラスをクラスパスに自動的に追加するように見えました。この特定のケースでは、Netbeans は JAR を追加しました。

ただし、それらはプロジェクトの外部から追加されるため、lib フォルダーはありません。残念ながら、私は build.xml に実際に飛び込んで何が起こっているのかを確認するのに十分な知識はまだありませんが、Library Manager からは次のように見えます。

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 の設定が間違っているか壊れている可能性がありますか?

4

1 に答える 1

-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)

2つのプロジェクト:

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へのアプローチが間違っていますか?ライブラリマネージャーなどのさまざまな機能の方がうまく機能するため、プロジェクト12と同様に、外部JARを使用してこれを実行したいと思います。

于 2012-05-08T12:27:38.780 に答える