【问题标题】:IntelliJ, Hibernate/JPA and Gradle don't find Dependencies in build-taskIntelliJ、Hibernate/JPA 和 Gradle 在构建任务中找不到依赖项
【发布时间】:2016-03-02 18:51:22
【问题描述】:

我尝试在 IntelliJ 15 中使用 Gradle。我的 build.gradle 如下所示:

plugins {
    id "org.flywaydb.flyway" version "3.2.1"
}

apply plugin: 'java'
apply plugin: 'idea'
apply plugin: 'application'

group 'de.my'
version '1.0-SNAPSHOT'

mainClassName = "de.my.hibernateTest.HibernateTest"

repositories {
    mavenCentral()
}

dependencies {
    testCompile group: 'junit', name: 'junit', version: '4.11'
    runtime 'org.hibernate:hibernate-core:5.1.0.Final'
    runtime 'com.h2database:h2:1.4.191'
}

flyway {
    url = 'jdbc:h2:file:./target/foobar'
    user = 'sa'
}

IntelliJ 和 gradle 已同步,IntelliJ 会找到依赖项。我可以在 gradle-tool-window 中看到它们。但如果我尝试执行构建任务 gradle 崩溃:

C:\Users\XXXXX\Development\Java\DemoH2Hibernate\src\main\java\xxx\yy\zzzzz\hibernateTest\Person.java:3: error: package org.hibernate.annotations does not exist
import org.hibernate.annotations.GenericGenerator;
                                ^
C:\Users\XXXXX\Development\Java\DemoH2Hibernate\src\main\java\xxx\yy\zzzzz\hibernateTest\Person.java:5: error: package javax.persistence does not exist
import javax.persistence.Entity;
                        ^
C:\Users\XXXXX\Development\Java\DemoH2Hibernate\src\main\java\xxx\yy\zzzzz\hibernateTest\Person.java:6: error: package javax.persistence does not exist
import javax.persistence.GeneratedValue;
                        ^
C:\Users\XXXXX\Development\Java\DemoH2Hibernate\src\main\java\xxx\yy\zzzzz\hibernateTest\Person.java:7: error: package javax.persistence does not exist
import javax.persistence.Id;
                        ^
C:\Users\XXXXX\Development\Java\DemoH2Hibernate\src\main\java\xxx\yy\zzzzz\hibernateTest\Person.java:8: error: package javax.persistence does not exist
import javax.persistence.Table;
                        ^
C:\Users\XXXXX\Development\Java\DemoH2Hibernate\src\main\java\xxx\yy\zzzzz\hibernateTest\Person.java:14: error: cannot find symbol
@Entity
 ^
  symbol: class Entity
C:\Users\XXXXX\Development\Java\DemoH2Hibernate\src\main\java\xxx\yy\zzzzz\hibernateTest\Person.java:15: error: cannot find symbol
@Table( name = "PERSON" )
 ^
  symbol: class Table
C:\Users\XXXXX\Development\Java\DemoH2Hibernate\src\main\java\xxx\yy\zzzzz\hibernateTest\Person.java:20: error: cannot find symbol
    @Id
     ^
  symbol:   class Id
  location: class Person
C:\Users\XXXXX\Development\Java\DemoH2Hibernate\src\main\java\xxx\yy\zzzzz\hibernateTest\Person.java:21: error: cannot find symbol
    @GeneratedValue( generator = "increment" )
     ^
  symbol:   class GeneratedValue
  location: class Person
C:\Users\XXXXX\Development\Java\DemoH2Hibernate\src\main\java\xxx\yy\zzzzz\hibernateTest\Person.java:22: error: cannot find symbol
    @GenericGenerator( name="increment", strategy = "increment" )
     ^
  symbol:   class GenericGenerator
  location: class Person
10 errors

我的 Person 类是:

package xxx.yy.zzzzz.hibernateTest;

import org.hibernate.annotations.GenericGenerator;

import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;

@Entity
@Table( name = "PERSON" )
public class Person {
    private int id;
    private String name;

    @Id
    @GeneratedValue( generator = "increment" )
    @GenericGenerator( name="increment", strategy = "increment" )
    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }


    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }
}

不知道是什么原因?!

【问题讨论】:

    标签: java hibernate jpa intellij-idea gradle


    【解决方案1】:

    在 build.gradle 中必须是 compile不是 runtime

    【讨论】:

      猜你喜欢
      • 2015-11-11
      • 2016-07-11
      • 2018-05-19
      • 1970-01-01
      • 2013-01-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多