Как создать толстый флягу Micronaut без теневого плагина? - PullRequest
0 голосов
/ 07 ноября 2019

То, что начиналось как контрольно-пропускной пункт для установки нового проекта Micronaut с корпоративным репо, теперь больше связано с любопытством того, как встроенный сервер загружается. У меня есть Micronaut CLI-проект с плагином com.github.johnrengelman.shadow gradle , который отлично работает, когда я запускаю флягу, используя -

$ java -Dmicronaut.environments=E1 -jar build/appBundle/app.jar

build.gradle -

plugins {
  id "com.github.johnrengelman.shadow" version "5.0.0"
}

...

shadowJar {
    mergeServiceFiles()
}

Когда я заменяю плагин / задачу shadow на плагин jar и плагин java, я могу создать исполняемый файл-флягу, но это не удается с помощью следующегоошибка-

$ java -Dmicronaut.environments=E1 -jar build/appBundle/app.jar
16:12:22.662 [main] INFO  i.m.context.env.DefaultEnvironment - Established active environments: [E1]
16:12:22.863 [main] INFO  io.micronaut.runtime.Micronaut - No embedded container found. Running as CLI application

build.gradle -

plugins {
  id "java"
}

...

jar {
  manifest {
    attributes "Main-Class": "axp.payments.pci.dss.PaymentsPciDssDispatcher"
  }

  from {
    configurations.compile.collect { it.isDirectory() ? it : zipTree(it) }
    configurations.runtimeClasspath.collect { it.isDirectory() ? it : zipTree(it) }
  }
}
  1. Что я хотел бы понять, так это то, как встроенный компонент сервера вводится с теньюплагин, но не иначе?
  2. Как создать fat-jar со встроенным Netty-сервером и без использования com.github.johnrengelman.shadow gradle plugin?
...