Gradle java.lang.NoClassDefFoundError:org/joda/time/LocalTime在hello.HelloWorld.main上尝试运行程序时

Gradle java.lang.NoClassDefFoundError:org/joda/time/LocalTime在hello.HelloWorld.main上尝试运行程序时,gradle,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.tim

我是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"
}
请确定问题并答复


提前感谢。

使用应用程序插件

apply plugin: 'application'
mainClassName = 'hello.HelloWorld'
然后运行:

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

编辑:

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

Linux

窗户

build\install\my_app\bin\my_app.bat

使用应用程序插件

apply plugin: 'application'
mainClassName = 'hello.HelloWorld'
然后运行:

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

编辑:

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

Linux

窗户

build\install\my_app\bin\my_app.bat

使用应用程序插件

apply plugin: 'application'
mainClassName = 'hello.HelloWorld'
然后运行:

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

编辑:

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

Linux

窗户

build\install\my_app\bin\my_app.bat

使用应用程序插件

apply plugin: 'application'
mainClassName = 'hello.HelloWorld'
然后运行:

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

编辑:

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

Linux

窗户

build\install\my_app\bin\my_app.bat

你还没有告诉我们你是如何运行你的程序的。您意识到joda时间jar必须在类路径中,对吗?我试图通过命令提示符“java-cp build/classes/main hello.HelloWorld”运行我的程序是的,我意识到joda时间jar在运行时丢失,但在构建过程中说jar已下载。现在,我找不到的问题在哪里。作为记录:gradle通过生成类和包含这些类的jar来构建您的应用程序。它将必要的库下载到缓存中,以便能够构建它。但是要运行你的应用程序,你必须使用
java-cp yourJar.jar:the/path/to/joda time.jar
在类路径中明确地添加所有需要的运行库。你还没有告诉我们你是如何运行你的程序的。您意识到joda时间jar必须在类路径中,对吗?我试图通过命令提示符“java-cp build/classes/main hello.HelloWorld”运行我的程序是的,我意识到joda时间jar在运行时丢失,但在构建过程中说jar已下载。现在,我找不到的问题在哪里。作为记录:gradle通过生成类和包含这些类的jar来构建您的应用程序。它将必要的库下载到缓存中,以便能够构建它。但是要运行你的应用程序,你必须使用
java-cp yourJar.jar:the/path/to/joda time.jar
在类路径中明确地添加所有需要的运行库。你还没有告诉我们你是如何运行你的程序的。您意识到joda时间jar必须在类路径中,对吗?我试图通过命令提示符“java-cp build/classes/main hello.HelloWorld”运行我的程序是的,我意识到joda时间jar在运行时丢失,但在构建过程中说jar已下载。现在,我找不到的问题在哪里。作为记录:gradle通过生成类和包含这些类的jar来构建您的应用程序。它将必要的库下载到缓存中,以便能够构建它。但是要运行你的应用程序,你必须使用
java-cp yourJar.jar:the/path/to/joda time.jar
在类路径中明确地添加所有需要的运行库。你还没有告诉我们你是如何运行你的程序的。您意识到joda时间jar必须在类路径中,对吗?我试图通过命令提示符“java-cp build/classes/main hello.HelloWorld”运行我的程序是的,我意识到joda时间jar在运行时丢失,但在构建过程中说jar已下载。现在,我找不到的问题在哪里。作为记录:gradle通过生成类和包含这些类的jar来构建您的应用程序。它将必要的库下载到缓存中,以便能够构建它。但是要运行你的应用程序,你必须使用
java-cp yourJar.jar:the/path/to/joda time.jar
在类路径中明确地添加所有需要的运行库。谢谢你的回答。这很有帮助。建设成功。但是,请指导我如何使用java插件通过命令提示符“java-cp build/classes/main hello.HelloWorld”运行我的主类?谢谢您的回答。这很有帮助。建设成功。但是,请指导我如何使用java插件通过命令提示符“java-cp build/classes/main hello.HelloWorld”运行我的主类?谢谢您的回答。这很有帮助。建设成功。但是,请指导我如何使用java插件通过命令提示符“java-cp build/classes/main hello.HelloWorld”运行我的主类?谢谢您的回答。这很有帮助。建设成功。但是,请指导我如何使用java插件通过命令提示符“java-cp build/classes/main hello.HelloWorld”运行我的主类?