gradle依赖管理:编译错误

时间:2014-02-02 13:56:46

标签: gradle dependency-management

我有一个使用ejb和jpa的项目。构建文件如下:

apply plugin: 'java'
apply plugin:'application'
mainClassName = "com.example.Main"

project.buildDir = 'target'
version = '0.1'

jar{
    destinationDir=project.buildDir
}

repositories {
    mavenCentral()
}

dependencies {
    compile 'org.glassfish:javax.ejb:3.0.1','org.eclipse.persistence:javax.persistence:2.0.0'
    testCompile group: 'junit', name: 'junit', version: '4.+'
}

当我“gradle clean compileJava”项目时,我收到了这些错误:

/home/user/Dropbox/project/src/main/java/com/example/TestClient.java:6: error: package javax.persistence does not exist
import javax.persistence.NamedQuery;
                        ^
/home/user/Dropbox/project/src/main/java/com/example/TestCounter.java:9: error: cannot find symbol
@Entity
 ^
  symbol: class Entity
/home/user/Dropbox/project/src/main/java/com/example/TestCounter:10: error: cannot find symbol
@NamedQuery(name = "findclient", query = "SELECT c FROM TestCounter c")
 ^

但是,使用相同的依赖项集,我可以在maven中编译项目。依赖声明必定有问题。花了一些时间阅读gradle网站,他们得到了很多“bla bla”销售宣传,但在一些真实的东西上并没有多少例子。

1 个答案:

答案 0 :(得分:0)

我一直试图让它工作,因此忘了将运行时的依赖项更改为Oli提到的编译。所以,如果有人遇到这个问题,我会留下这个问题。