Spring Boot / Micronaut - ошибка Jacksondatabind на окнах - PullRequest
0 голосов
/ 23 февраля 2019

Я пытаюсь запустить простой образец Micronaut / Spring Boot в Windows через Gradle и получаю следующее исключение:


    "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)

Ответы [ 2 ]

0 голосов
/ 27 февраля 2019

так что в конечном итоге выяснил это после того, как увидел на другой странице комментарий об использовании JSON для весенней настройки приложения.

Оказалось, что у меня была переменная окружения SPRING_APPLICATION_JSON, которая была искажена, поэтому он выдавал эту ошибку.как только я вынул это и перезапустил свою IDE, теперь все работает хорошо.

0 голосов
/ 23 февраля 2019

Я не думаю, что вы используете -Dmicronaut.config.files=application.yml правильно.Этот параметр ожидает абсолютный путь к файлу на диске.Если вы хотите прочитать src/main/resources/application.yml, это будет сделано автоматически.

...