0

プロジェクトでスプリングロードを使用する場合。Spring Boot + Spring-Loaded (IntelliJ、Gradle)にも同様の質問があります ドキュメントに よると、私の 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でアプリケーションを実行すると。スプリング式が機能していません。
次に、スプ​​リングロードされたドキュメントに従い、実行構成に追加-javaagent:<pathTo>/springloaded-{VERSION}.jar -noverifyします 。最終的にはうまく機能しています。 ここに画像の説明を入力

私の心に2つの疑問が生じます。
1つ目は、スプリングロードされた依存関係classpath'org.springframework:springloaded:1.2.0.RELEASE'が必要ないことです。2 つ目は、build.gradle
で VM 引数を定義する方法があることです。gradleドキュメント が表示されます。私のbuild.gradleでは、コメントコードが表示 されていますが、機能していません。-javaagent:<pathTo>/springloaded-{VERSION}.jar -noverify

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

4

1 に答える 1

1

spring 1.3.x を使用しているようです

春は屋根裏部屋にあります: 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 などのテクノロジほど高速ではありませんが、通常は「コールド スタート」よりも大幅に高速です。以下で説明するより複雑なリロード オプションのいくつかを調べる前に、おそらく試してみてください。"

現時点では、ロードされたスプリングはあまりアクティブではありません: https://github.com/spring-projects/spring-loaded/releasesしたがって、スプリング プロジェクト ページの屋根裏部屋にあるのはなぜですか。

于 2016-06-29T13:10:08.510 に答える