我试图通过Gradle在Windows上运行Micronaut/Spring的一个简单示例,并得到以下例外:
"C:\Program Files\Java\jdk1.8.0_171\bin\java.exe" -javaagent:C:\Program Files\JetBrains\IntelliJ IDEA 2018.1.5\lib\idea_rt.jar=53492:C:\Program Files\JetBrains\IntelliJ IDEA 2018.1.5\bin" -Dfile.encoding=UTF-8 -classpath "C:\Program Files\Java\jdk1.8.0_171\jre\lib\charsets.jar;com.home.examples.poster.Application
17:45:20.913 [main] ERROR io.micronaut.runtime.Micronaut - Error starting Micronaut server: I/O exception occurred reading [application.json]: Unexpected character (''' (code 39)): expected a valid value (number, String, array, object, 'true', 'false' or 'null')
at [Source: (ByteArrayInputStream); line: 1, column: 2]
io.micronaut.context.exceptions.ConfigurationException: I/O exception occurred reading [application.json]: Unexpected character (''' (code 39)): expected a valid value (number, String, array, object, 'true', 'false' or 'null')
at [Source: (ByteArrayInputStream); line: 1, column: 2]
at io.micronaut.context.env.AbstractPropertySourceLoader.loadProperties(AbstractPropertySourceLoader.java:98)
at io.micronaut.context.env.AbstractPropertySourceLoader.load(AbstractPropertySourceLoader.java:66)
at io.micronaut.context.env.DefaultEnvironment.loadPropertySourceFromLoader(DefaultEnvironment.java:487)
at io.micronaut.context.env.DefaultEnvironment.readPropertySourceList(DefaultEnvironment.java:430)
at io.micronaut.context.DefaultApplicationContext$RuntimeConfiguredEnvironment.readPropertySourceList(DefaultApplicationContext.java:542)
at io.micronaut.context.env.DefaultEnvironment.readPropertySources(DefaultEnvironment.java:355)
at io.micronaut.context.env.DefaultEnvironment.start(DefaultEnvironment.java:246)
at io.micronaut.context.env.DefaultEnvironment.start(DefaultEnvironment.java:66)
at io.micronaut.context.DefaultApplicationContext.startEnvironment(DefaultApplicationContext.java:184)
at io.micronaut.context.DefaultApplicationContext.start(DefaultApplicationContext.java:142)
at io.micronaut.runtime.Micronaut.start(Micronaut.java:67)
at io.micronaut.runtime.Micronaut.run(Micronaut.java:274)
at io.micronaut.runtime.Micronaut.run(Micronaut.java:260)
at com.home.examples.poster.Application.main(Application.java:8)
Caused by: com.fasterxml.jackson.core.JsonParseException: Unexpected character (''' (code 39)): expected a valid value (number, String, array, object, 'true', 'false' or 'null')
at [Source: (ByteArrayInputStream); line: 1, column: 2]
at com.fasterxml.jackson.core.JsonParser._constructError(JsonParser.java:1804)
at com.fasterxml.jackson.core.base.ParserMinimalBase._reportError(ParserMinimalBase.java:693)
at com.fasterxml.jackson.core.base.ParserMinimalBase._reportUnexpectedChar(ParserMinimalBase.java:591)
at com.fasterxml.jackson.core.json.UTF8StreamJsonParser._handleUnexpectedValue(UTF8StreamJsonParser.java:2630)
at com.fasterxml.jackson.core.json.UTF8StreamJsonParser._nextTokenNotInObject(UTF8StreamJsonParser.java:832)
at com.fasterxml.jackson.core.json.UTF8StreamJsonParser.nextToken(UTF8StreamJsonParser.java:729)
at com.fasterxml.jackson.databind.ObjectMapper._initForReading(ObjectMapper.java:4141)
at com.fasterxml.jackson.databind.ObjectMapper._readMapAndClose(ObjectMapper.java:4000)
at com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:3084)
at io.micronaut.jackson.env.JsonPropertySourceLoader.processInput(JsonPropertySourceLoader.java:56)
at io.micronaut.context.env.AbstractPropertySourceLoader.read(AbstractPropertySourceLoader.java:111)
at io.micronaut.context.env.AbstractPropertySourceLoader.loadProperties(AbstractPropertySourceLoader.java:96)
... 13 common frames omitted
Process finished with exit code 1我在Spring 2.1+中看到了这个错误,并且不知道它在哪里/为什么会发生,因为它“应该”从application.yml中读取。调试,我知道它在哪里抛出异常,但它不是一个文件,我甚至可以在项目中阅读。即使我做了"application.json“,它读取文件,但仍然失败与上述错误。
我有自由:
annotationProcessor "io.micronaut:micronaut-inject-java"
compile "io.micronaut:micronaut-http-client"
compile "io.micronaut:micronaut-http-server-netty"
compile "io.micronaut:micronaut-inject"
compile "io.micronaut:micronaut-runtime"
compileOnly "io.micronaut:micronaut-inject-java"
runtime "ch.qos.logback:logback-classic:1.2.3"
testCompile "junit:junit:4.12"
testCompile "io.micronaut:micronaut-inject-java"
jackson-databind is 2.9.8 (included in the micronaut deps)发布于 2019-02-26 22:15:43
因此,在看到另一个页面上关于使用JSON进行spring应用程序安装的评论后,最终发现了这一点。
原来,我有一个环境变量SPRING_APPLICATION_JSON设置,它的格式不正确,因此它抛出了这个错误。一旦我把它拿出来重新启动我的IDE,现在一切都很好。
发布于 2019-02-23 04:38:21
我不认为你使用-Dmicronaut.config.files=application.yml是正确的。该设置期望磁盘上的文件具有绝对路径。如果您希望读取src/main/resources/application.yml,这将自动完成。
https://stackoverflow.com/questions/54836414
复制相似问题