上下文:我从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 来公开一些内置的管理和监控端点。