spring boot使用springloaded没有在gradle中工作

时间:2016-06-29 09:51:53

标签: eclipse gradle spring-boot spring-loaded

当我在我的项目中使用springloaded时。 Spring Boot + Spring-Loaded (IntelliJ, Gradle)中有类似的问题 根据{{​​3}}, 我的build.gradle是:

buildscript{
ext{
    springBootVersion = '1.3.5.RELEASE'
}
repositories {
    mavenCentral()
}
dependencies {
    classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}")
    classpath 'org.springframework:springloaded:1.2.0.RELEASE'
}
}
apply plugin: 'java'
apply plugin: 'eclipse'
apply plugin: 'spring-boot'
//apply plugin: 'application'
springBoot {
    backupSource = false
    mainClass = 'com.zhb.app.PortalApplication'
}

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

//applicationDefaultJvmArgs = ['-javaagent:E:\\xgsdk\\commonLib\\springloaded-1.2.5.RELEASE.jar -noverify']

repositories {
    mavenCentral()
}

dependencies {
    compile "org.springframework.boot:spring-boot-starter-web",
            "com.alibaba:fastjson:1.2.4",
            "commons-codec:commons-codec:1.5",
            "org.apache.commons:commons-lang3:3.3.2"

    testCompile("org.springframework.boot:spring-boot-starter-test")
}

当我在eclipse中运行应用程序时。弹簧加载不起作用。
然后我按照document,将-javaagent:<pathTo>/springloaded-{VERSION}.jar -noverify添加到运行配置 最后它运作良好。 springloaded document

我脑子里出现了两个问题 第一个是弹簧加载的依赖classpath'org.springframework:springloaded:1.2.0.RELEASE'是没有必要的 第二种是有一种方法可以在 build.gradle 中定义VM参数-javaagent:<pathTo>/springloaded-{VERSION}.jar -noverify
我看到了enter image description here。在我的build.gradle中,注释代码显示为 //apply plugin: 'application' //applicationDefaultJvmArgs = ['-javaagent:E:\\xgsdk\\commonLib\\springloaded-1.2.5.RELEASE.jar -noverify']
但它没有用。

1 个答案:

答案 0 :(得分:1)

我看到你使用spring 1.3.x

Spring加载在阁楼中:https://spring.io/projects

您应该从现在开始使用DevTools:https://spring.io/blog/2015/06/17/devtools-in-spring-boot-1-3

有几个选项可供选择(DevTools,Spring加载,JRebel等)

DevTools是推荐的Spring方式,而不是唯一的方式。

来自文档:“热备份有几种选择。推荐的方法是使用spring-boot-devtools,因为它提供了额外的开发时间功能,例如支持快速应用程序重启和LiveReload以及合理的开发时间配置(例如模板缓存)。

或者,在IDE中运行(尤其是在调试时)是一种很好的开发方式(所有现代IDE都允许重新加载静态资源,通常还可以热插拔Java类更改)。

spring-boot-devtools模块支持自动重启应用程序。虽然没有像JRebel或Spring Loaded这样的技术那么快,但它通常比“冷启动”快得多。在调查下面讨论的一些更复杂的重载选项之前,您应该尝试一下。

目前Spring加载不是很活跃:https://github.com/spring-projects/spring-loaded/releases因此它出现在Spring项目页面的阁楼里。