尝试运行程序时,hello.HelloWorld.main中的java.lang.NoClassDefFoundError:org / joda / time / LocalTime

时间:2014-02-07 12:50:56

标签: gradle

我是Gradle构建工具的初学者。我成功编译了HelloWorld.java代码,但在尝试运行时会出现以下错误:

Exception in thread "main" java.lang.NoClassDefFoundError: org/joda/time/LocalTime at
        hello.HelloWorld.main (HelloWorld.java:7)

我的HelloWorld.java代码是:

package hello;

import org.joda.time.LocalTime;

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

Greeter greeter = new Greeter();
System.out.println("greeter.sayHello()");
  }
}

Greeter类只是一个包含sayHello()方法的类来打印“Hello World”消息。

Gradle的build.gradle代码是:

apply plugin: 'java'

repositories {
mavenCentral()
 }

dependencies {
  compile "joda-time:joda-time:1.5"
}

请确定问题并回复......

提前致谢。

1 个答案:

答案 0 :(得分:3)

使用应用程序插件。

apply plugin: 'application'
mainClassName = 'hello.HelloWorld'

然后运行:

gradle installApp

这将创建一个build / install / nameofyourapp文件夹。其中包含一个bin文件夹,其中包含可正确运行应用程序的脚本。

编辑:

假设您的应用程序名为my_app(这是build.gradle文件所在文件夹的名称),要运行该应用程序,您需要输入:

Linux的

build/install/my_app/bin/my_app

build\install\my_app\bin\my_app.bat