WildFly Swarm 2016.9 リリース、MicroProfileで実行
WildFly Swarm 2016.9がリリースされたので試してみます。
WildFly Swarm Project Generatorでデフォルトのまま生成してみると以下のpom.xmlが生成されました。Swarmのバージョンが2016.8.1
とひとつ前のものになっているので、2016.9
に書き換えてmvn package
でビルドします。ビルドしたら50MB弱のtarget/demo-swarm.jar
が出来上がり、java -jar target/demo-swarm.jar
で起動できます。http://localhost:8080/rest/helloにアクセスするとHello from WildFly Swarm!
が表示されます。
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.example</groupId> <artifactId>demo</artifactId> <name>Wildfly Swarm Example</name> <version>1.0.0-SNAPSHOT</version> <packaging>war</packaging> <properties> <version.wildfly.swarm>2016.8.1</version.wildfly.swarm> <maven.compiler.source>1.8</maven.compiler.source> <maven.compiler.target>1.8</maven.compiler.target> <failOnMissingWebXml>false</failOnMissingWebXml> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> </properties> <dependencyManagement> <dependencies> <dependency> <groupId>org.wildfly.swarm</groupId> <artifactId>bom-all</artifactId> <version>${version.wildfly.swarm}</version> <scope>import</scope> <type>pom</type> </dependency> </dependencies> </dependencyManagement> <build> <finalName>demo</finalName> <plugins> <plugin> <groupId>org.wildfly.swarm</groupId> <artifactId>wildfly-swarm-plugin</artifactId> <version>${version.wildfly.swarm}</version> <executions> <execution> <goals> <goal>package</goal> </goals> </execution> </executions> </plugin> </plugins> </build> <dependencies> <!-- Java EE 7 dependency --> <dependency> <groupId>javax</groupId> <artifactId>javaee-api</artifactId> <version>7.0</version> <scope>provided</scope> </dependency> <!-- Wildfly Swarm Fractions --> </dependencies> </project>
demo-swarm.jar
の中には_bootstrap/demo.war
というようにアプリケーションのwarが含まれています。
swarm.jarを実行するのではなく、WildFly Swarm MicroProfileを使って指定したwarを実行することもでできます。
java -jar microprofile-2016.9-hollowswarm.jar target/demo.war