【发布时间】:2017-04-02 10:16:49
【问题描述】:
我现在是 gradle 和学习的新手。我正在尝试使用 gradle 构建一个可运行的 jar(我构建的 jar 应该从命令提示符运行)。我刚从一个简单的带有依赖项的HelloWorld 项目开始,并尝试使用 gradle 构建它。我没有使用 Maven。所以我将依赖 jar 添加到项目文件夹内的 lib 文件夹中。以下是详细信息。
Gradle 版本:3.1 Eclipse 版本:霓虹灯
HelloWorld.java
package com.padhu.test;
import org.joda.time.LocalTime;
public class HelloWorld {
public static void main(String[] args) {
// TODO Auto-generated method stub
LocalTime currentTime = new LocalTime();
System.out.println("The current local time is: " + currentTime);
System.out.println("Hello World");
}
}
项目结构:
build_path_snap
build.gradle 文件:
apply plugin: 'java'
apply plugin: 'application'
mainClassName = 'com.padhu.test.HelloWorld'
repositories {
flatDir {
dirs 'lib'
}
}
dependencies {
compile files(fileTree(dir: 'lib', includes: ['*.jar']))
}
jar {
manifest {
attributes(
'Main-Class': 'com.padhu.test.HelloWorld'
)
}
}
我可以在我的 cmd 中成功执行 gradle build 并且生成 jar 文件。但在 jar 文件中,我只能看到 HelloWorld 文件夹结构,但看不到依赖文件。所以我无法从命令提示符运行 jar,因为我收到了 NoClassDefFoundError: org/joda/time/LocalTime..
我尝试通过搜索和阅读博客自己解决问题..但我无法成功运行 jar。
请帮助我。
【问题讨论】:
标签: java eclipse gradle jar build.gradle