通过gradle获取spring boot jar文件

时间:2015-11-07 16:23:58

标签: spring gradle spring-boot

spring框架希望用户使用依赖工具来下载框架,所以我试图使用gradle。我从他们的网站http://docs.spring.io/spring-boot/docs/current-SNAPSHOT/reference/htmlsingle/#howto

那里得到了这个样本
buildscript {
    repositories {
        jcenter()
        maven { url "http://repo.spring.io/snapshot" }
        maven { url "http://repo.spring.io/milestone" }
    }
    dependencies {
        classpath("org.springframework.boot:spring-boot-gradle-plugin:1.3.0.BUILD-SNAPSHOT")
    }
}

apply plugin: 'java'
apply plugin: 'spring-boot'

jar {
    baseName = 'root'
    version =  '0.0.1-SNAPSHOT'
}

repositories {
    jcenter()
    maven { url "http://repo.spring.io/snapshot" }
    maven { url "http://repo.spring.io/milestone" }
}

dependencies {
    compile("org.springframework.boot:spring-boot-starter-web")
    testCompile("org.springframework.boot:spring-boot-starter-test")
}

我将其保存到名为build.gradle的文件中。然后在CMD中,我转到build.gralde文件所在的目录并输入:

gradle build

它似乎运行良好但是对于建筑它不工作,这是我从命令提示符得到的最后一个日志:

:compileJava UP-TO-DATE
:processResources UP-TO-DATE
:classes UP-TO-DATE
:findMainClass

:罐 :bootRepackage FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':bootRepackage'.
Unable to find main class
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug
option to get more log output.

BUILD FAILED

Total time: 9.664 secs

我不明白这个">无法找到主要课程"。我只想获取所有jar文件并将它们放在我的eclipse项目的WEB-INF / lib中。我非常擅长gradle。我该怎么办?

1 个答案:

答案 0 :(得分:1)

根据您的评论,根据您的评论,如果您没有项目来源,但由于某种原因想要下载依赖库,那么我并不是很清楚。 Gradle没有以这种方式工作,所有库都按需下载,这意味着它们被下载然后你,例如,尝试构建你的源文件。

您获得的例外意味着,gradle spring boot插件的任务bootRepackage没有在您的项目中找到主类。此主要类是此任务必需的,因为该任务会创建一个独立的可执行jar。

当然,可以通过自定义任务下载deps,例如:

task getDeps(type: Copy) {
  from sourceSets.main.runtimeClasspath
  into 'runtime/'
}

但似乎你没有正确理解,它是如何运作的。您应该先尝试阅读gradle user guide并让gradle为您构建项目,但不要只是组合一些库。