Android Studio 3将库添加到java库模块

时间:2017-11-04 16:53:49

标签: java android gradle

我以前在我的android项目中有一个额外的java库模块,用于运行快速的java测试。该模块在其build.gradle中添加了一些Java库和自定义运行配置。 当我升级到AS 3和Gradle 3时,这个模块在创建任何库的新对象时开始给我以下错误:

Exception in thread "main" java.lang.NoClassDefFoundError: org/joda/time/DateTime
at com.example.javatest.Test.main(Test.java:8)
Caused by: java.lang.ClassNotFoundException: org.joda.time.DateTime
    at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
    ... 1 more

只有在我创建库的对象时才会发生崩溃。这不会崩溃:

Datetime datetime;
Period period;

这样做:

Datetime datetime = new Datetime();
Period period = new Period();

我尝试使用AS向导再次创建模块,但没有运气。还尝试再次创建运行配置。当仅使用纯Java代码时,它不会崩溃。

我尝试使用implementation xxx添加库,也使用jar作为相同的结果。

模块的build.gradle:

apply plugin: 'java'


dependencies {
    implementation fileTree(include: ['*.jar'], dir: 'libs')
    //Tried both, not at the same time
    implementation 'joda-time:joda-time:2.9.9'
    implementation files('libs/joda-time-2.9.9.jar')

    implementation 'commons-validator:commons-validator:1.6'
}

sourceCompatibility = "1.7"
targetCompatibility = "1.7"

有任何帮助吗?感谢。

0 个答案:

没有答案