无法使用gradle编译虚拟类

时间:2015-11-10 22:26:35

标签: gradle build

我第一次尝试使用gradle并没有真正起作用。我希望你能提供帮助。

我的课程如下:

import org.joda.time.LocalTime;
import org.apache.commons.*;

public class Test {
  public static void main(String[] args) {
    org.joda.time.LocalTime currentTime = new org.joda.time.LocalTime();
    System.out.println("The current local time is: " + currentTime);
  }
}

此java类存储在文件夹source / java /

我写了以下build.gradle:

group 'alive'
version '1.0-SNAPSHOT'

apply plugin: 'java'

sourceCompatibility = 1.7
targetCompatibility = 1.7

repositories {
    mavenCentral()
}

dependencies {
    compile group: 'org.apache.commons', name: 'commons-lang3', version: '3.4'
    compile group: 'joda-time', name: 'joda-time', version: '2.2'
    compile group: 'com.google.guava', name: 'guava', version: '17.0'
}   

sourceSets {
    main {
        java {
            srcDir 'source/java'
        }
        resources {
            srcDir 'source/resources'
        }
    }
}

当我运行“gradle build”时,我收到编译错误。无法找到org.apache.commons包。

1 个答案:

答案 0 :(得分:0)

星号表示法包括给定包中的所有类。它不包括子包。包本身不包含类,这就是编译器失败的原因。在你的程序中,你不能使用任何来自公共区域的东西,所以你可以自由地删除该行。当您开始使用它时,让IDE为您处理导入。如果你想自己从公共图书库导入一些东西,请做例如:

import org.apache.commons.lang3.SystemUtils;

import org.apache.commons.lang3.*;

它适用于joda时间的原因是因为你引用了具有完整包名的类:

org.joda.time.LocalTime ...

这就是为什么它不需要导入。