0

上下文:我从https://micronaut.io/launch/下载了一个初始化项目,并添加了 gradle-git-properties 插件和 micronaut-management 依赖项,以公开 git.properties,如添加提交信息指南中所述

我检查了我的项目 buil/resources/main ,我看到了这个 git.properties

git.branch=
git.build.host=SPANOT149
git.build.user.email=jimis.drpc@gmail.com
git.build.user.name=Jimis.drpc
git.build.version=0.1
git.closest.tag.commit.count=
git.closest.tag.name=
git.commit.id=
git.commit.id.abbrev=
git.commit.id.describe=
git.commit.message.full=
git.commit.message.short=
git.commit.time=
git.commit.user.email=
git.commit.user.name=
git.dirty=true
git.remote.origin.url=
git.tags=
git.total.commit.count=0

所以我假设插件工作正常。

然而,当我得到 http://localhost:8080/info 结果是

{"message":"Page Not Found","_links":{"self":{"href":"/info","templated":false}}}

我发现除了上述官方指南之外最接近的教程是使用 Micronaut 版本 1.0.3 的快速指南,并且在 Maven 中添加了一些额外的步骤。注意我使用的是 Micronaut 2.1.3 和 Gradle,官方指南也使用 Gradle,并且没有这么少的额外步骤。

这是我的:

构建.gradle

plugins {
    id "org.jetbrains.kotlin.jvm" version "1.4.10"
    id "org.jetbrains.kotlin.kapt" version "1.4.10"
    id "org.jetbrains.kotlin.plugin.allopen" version "1.4.10"
    id "com.github.johnrengelman.shadow" version "6.1.0"
    id "io.micronaut.application" version '1.0.5'
    id "com.gorylenko.gradle-git-properties" version "2.2.2"
}

version "0.1"
group "com.mybank"

repositories {
    mavenCentral()
    jcenter()
}

micronaut {
    runtime "netty"
    testRuntime "junit5"
    processing {
        incremental true
        annotations "com.mybank.*"
    }
}

dependencies {
    implementation("io.micronaut:micronaut-validation")
    implementation("org.jetbrains.kotlin:kotlin-stdlib-jdk8:${kotlinVersion}")
    implementation("org.jetbrains.kotlin:kotlin-reflect:${kotlinVersion}")
    implementation("io.micronaut.kotlin:micronaut-kotlin-runtime")
    implementation("io.micronaut:micronaut-runtime")
    implementation("javax.annotation:javax.annotation-api")
    implementation("io.micronaut:micronaut-http-client")

    implementation("io.micronaut:micronaut-management")

    runtimeOnly("ch.qos.logback:logback-classic")
    runtimeOnly("com.fasterxml.jackson.module:jackson-module-kotlin")

}

mainClassName = "com.mybank.ApplicationKt"
java {
    sourceCompatibility = JavaVersion.toVersion('11')
}

compileKotlin {
    kotlinOptions {
        jvmTarget = '11'
    }
}
compileTestKotlin {
    kotlinOptions {
        jvmTarget = '11'
    }
}

应用程序.yml

micronaut:
  application:
    name: demo
endpoints:
  info:
    enabled: true
    sensitive: false

gradle.properties

micronautVersion=2.1.3
kotlinVersion=1.4.10

作为最终目标,我想使用 micronaut-management 来公开一些内置的管理和监控端点。

4

1 回答 1

1

请参阅https://github.com/jeffbrown/jimcinfoendpoint上的项目。

我将您的构建配置复制到该项目中,并且/info端点似乎可以工作。

于 2020-11-10T20:04:57.517 回答