ワイが勝手に JavaEE(JakartaEE) 勢のフラッグシップと思い込んでいる WildFly であるが、ちょっと前に 26 がリリースされた。
最近、あまりチェックしていなかったのだが、bootable jar が作成できるようになったらしい。
軽めのドキュメントも公開されていた。
ほんまかいな?とサンプルを試してみる。
HelloWorldEndpoint.java
package org.wildfly.plugins.demo.jaxrs;
import javax.ws.rs.Path;
import javax.ws.rs.core.Response;
import javax.ws.rs.GET;
import javax.ws.rs.Produces;
@Path("/hello")
public class HelloWorldEndpoint {
@GET
@Produces("text/plain")
public Response doGet() {
return Response.ok("Hello from WildFly bootable jar!").build();
}
}
としたとき、pom.xml を以下のように設定する。
pom.xml(抜粋)
<artifactId>jaxrs</artifactId>
(略)
<build>
<finalName>${project.artifactId}</finalName>
<plugins>
<plugin>
<groupId>org.wildfly.plugins</groupId>
<artifactId>wildfly-jar-maven-plugin</artifactId>
<configuration>
<feature-pack-location>wildfly@maven(org.jboss.universe:community-universe)#${version.wildfly}</feature-pack-location>
<layers>
<layer>jaxrs</layer>
<layer>management</layer>
</layers>
<excluded-layers>
<layer>deployment-scanner</layer>
</excluded-layers>
<plugin-options>
<jboss-fork-embedded>${plugin.fork.embedded}</jboss-fork-embedded>
</plugin-options>
</configuration>
<executions>
<execution>
<goals>
<goal>package</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
mvn pacakge
でビルド。
完了したら、
java -jar target/jaxrs-bootable.jar
とタイプ。
すると
といういかにも WildFly なロガー情報が流れる。
ブラウザで http:127.0.0.1:8080/hello アクセスすると
とちゃんと表示されました。
wildfly-jar-maven-plugin やるではないですかーw