/showcase-microstream-helidon

Showcase for microstream based on helidon [MIRROR]

Primary LanguageJavaApache License 2.0Apache-2.0

Showcase for microstream based on helidon

This project holds an example for Microstream based on Helidon.

Problems

Problem: Helidon-cli cannot start 1
Helidon project is not supported: The required 'mainClass' property is missing.
Solution: Set following property in your pom.xml:
<properties>
    <mainClass>io.helidon.microprofile.cdi.Main</mainClass>
</properties>
Problem: Helidon-cli cannot start 2
loop failed helidon-cli-maven-plugin must be configured as an extension"
Solution: Add following to the plugin configuration of helidon-cli-maven-plugin:
<plugin>
    <groupId>io.helidon.build-tools</groupId>
    <artifactId>helidon-cli-maven-plugin</artifactId>
    <version>${helidon-cli-plugin.version}</version>
    <extensions>true</extensions>
</plugin
Problem: No beans are found
There are no JAX-RS applications or resources. Maybe you forgot META-INF/beans.xml file?"
Solution: Configure jandex properly
<plugin>
    <groupId>org.jboss.jandex</groupId>
    <artifactId>jandex-maven-plugin</artifactId>
    <executions>
        <execution>
            <id>make-index</id>
            <goals>
                <goal>jandex</goal>
            </goals>
        </execution>
    </executions>
</plugin>
Problem: Helidon doesn’t find classes annotated with @ApplicationScoped or @Path and ignores

microprofile-config.properties.

No handler found for path: /todo
Solution: Also import helidon-bom
<dependencyManagement>
    <dependencies>
        <!-- Helidon -->
        <dependency>
            <groupId>io.helidon</groupId>
            <artifactId>helidon-bom</artifactId>
            <version>${helidon.version}</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
        <dependency>
            <groupId>io.helidon</groupId>
            <artifactId>helidon-dependencies</artifactId>
            <version>${helidon.version}</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
    </dependencies>
</dependencyManagement>