Micronaut — это современная полнофункциональная инфраструктура на основе JVM для создания модульных, легко тестируемых микросервисных и серверных приложений.
Для первоначальной разработки мы используем микросервисное стартовое приложение на основе JAX-RS, аналогичное реализации с использованием Oracle Helidon .
Подробнее о жизненном цикле объясняется ниже.
Вам также может понравиться: Краткое руководство по микросервисам с Micronaut Framework
упаковка
Micronaut использует плагин maven shade для упаковки приложения, которое помещает все зависимости времени выполнения в uber jar.
XML
1
<plugin>
2
<groupId>org.apache.maven.plugins</groupId>
3
<artifactId>maven-shade-plugin</artifactId>
4
<executions>
5
<execution>
6
<phase>package</phase>
7
<goals>
8
<goal>shade</goal>
9
</goals>
10
<configuration>
11
<transformers>
12
<transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
13
<mainClass>${mainClass}</mainClass>
14
</transformer>
15
<transformer implementation="org.apache.maven.plugins.shade.resource.ServicesResourceTransformer"/>
16
</transformers>
17
</configuration>
18
</execution>
19
</executions>
20
</plugin>
развертывание
Micronaut поддерживает развертывание HTTP на основе сервера netty и частичную / совместимую поддержку ресурсов JAX-RS.
XML
xxxxxxxxxx
1
<dependencies>
2
<dependency>
3
<groupId>io.micronaut.jaxrs</groupId>
4
<artifactId>micronaut-jaxrs-server</artifactId>
5
<version>1.0.0.M1</version>
6
</dependency>
7
<dependency>
8
<groupId>io.micronaut</groupId>
9
<artifactId>micronaut-runtime</artifactId>
10
</dependency>
11
<dependency>
12
<groupId>io.micronaut</groupId>
13
<artifactId>micronaut-http-server-netty</artifactId>
14
</dependency>
15
</dependencies>
В дополнение к этому для обработки аннотаций потребовались дополнительные плагины / зависимости на этапе компиляции.
XML
xxxxxxxxxx
1
<annotationProcessorPaths>
2
<path>
3
<groupId>io.micronaut</groupId>
4
<artifactId>micronaut-inject-java</artifactId>
5
</path>
6
<path>
7
<groupId>io.micronaut</groupId>
8
<artifactId>micronaut-validation</artifactId>
9
</path>
10
<path>
11
<groupId>io.micronaut.jaxrs</groupId>
12
<artifactId>micronaut-jaxrs-processor</artifactId>
13
</path>
14
</annotationProcessorPaths>
гранатомет
Micronaut предоставляет встроенный класс runner, который можно вызывать через основной класс.
Джава
xxxxxxxxxx
1
public class Application {
2
public static void main(String[] args) {
3
Micronaut.run(Application.class);
4
}
5
}
Который может быть триггером несколькими способами.
Dev
mvn exec:java
тычок
java - jar target/microservice-starter-micronaut.jar
Полный пример можно найти здесь на микросервис-стартер-микроанавт .