Payara MicroのWebアプリケーションをAzure App Serviceで動かす
以下のドキュメントを参考にPayara MicroのWebアプリをAzure App Serviceで動かしてみました。
プロジェクトをMicroProfile Starterで作成します。
プロジェクトに含まれるコードはDemoRestApplication.javaとHelloController.javaのみです。
package com.example.demo;
import javax.enterprise.context.ApplicationScoped;
import javax.ws.rs.ApplicationPath;
import javax.ws.rs.core.Application;
/**
*
*/
@ApplicationPath("/data")
@ApplicationScoped
public class DemoRestApplication extends Application {
}
package com.example.demo;
import javax.inject.Singleton;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
/**
*
*/
@Path("/hello")
@Singleton
public class HelloController {
@GET
public String sayHello() {
return "Hello World";
}
}
コードは特に変更せず、そのまま使いました。
pom.xmlのbuildセクションに以下を追加します。
<plugin>
<groupId>com.microsoft.azure</groupId>
<artifactId>azure-webapp-maven-plugin</artifactId>
<version>1.14.0</version>
</plugin>
以下のコマンドを実行して、Linux、Java 11、Tomcat 9.0を選びました。
mvn com.microsoft.azure:azure-webapp-maven-plugin:1.14.0:config
その後、pom.xmlに以下の変更を加えます。
- webContainerをTomcatからjava11(またはJava SE)に変更
- appSettingsを追加
- includeのwarをjarに変更
実際のpom.xmlはこちらです。
<?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/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.example</groupId>
<artifactId>demo</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>war</packaging>
<properties>
<maven.compiler.target>11</maven.compiler.target>
<failOnMissingWebXml>false</failOnMissingWebXml>
<maven.compiler.source>11</maven.compiler.source>
<payaraVersion>5.2020.2</payaraVersion>
<final.name>demo</final.name>
</properties>
<dependencies>
<dependency>
<groupId>org.eclipse.microprofile</groupId>
<artifactId>microprofile</artifactId>
<version>3.3</version>
<type>pom</type>
<scope>provided</scope>
</dependency>
</dependencies>
<build>
<finalName>demo</finalName>
<plugins>
<plugin>
<groupId>com.microsoft.azure</groupId>
<artifactId>azure-webapp-maven-plugin</artifactId>
<version>1.14.0</version>
<configuration>
<schemaVersion>v2</schemaVersion>
<subscriptionId>xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxx</subscriptionId>
<resourceGroup>demo-xxxxxxxxxxxxxx-rg</resourceGroup>
<appName>demo-xxxxxxxxxxxxxx</appName>
<pricingTier>P1v2</pricingTier>
<region>westeurope</region>
<runtime>
<os>Linux</os>
<javaVersion>java11</javaVersion>
<webContainer>java11</webContainer>
</runtime>
<appSettings>
<property>
<name>PORT</name>
<value>8080</value>
</property>
<property>
<name>WEBSITES_PORT</name>
<value>8080</value>
</property>
<property>
<name>WEBSITES_CONTAINER_START_TIME_LIMIT</name>
<value>600</value>
</property>
</appSettings>
<deployment>
<resources>
<resource>
<directory>${project.basedir}/target</directory>
<includes>
<include>*.jar</include>
</includes>
</resource>
</resources>
</deployment>
</configuration>
</plugin>
</plugins>
</build>
<profiles>
<profile>
<id>payara-micro</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<build>
<plugins>
<plugin>
<groupId>fish.payara.maven.plugins</groupId>
<artifactId>payara-micro-maven-plugin</artifactId>
<version>1.0.5</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>bundle</goal>
</goals>
</execution>
</executions>
<configuration>
<payaraVersion>${payaraVersion}</payaraVersion>
</configuration>
</plugin>
</plugins>
</build>
</profile>
</profiles>
</project>
あとはビルドしてデプロイするだけです。
mvn clean package
mvn com.microsoft.azure:azure-webapp-maven-plugin:1.14.0:deploy
アクセスすると以下の表示になります。
helloエンドポイントにアクセスるとHello Worldが表示されます。
Author And Source
この問題について(Payara MicroのWebアプリケーションをAzure App Serviceで動かす), 我々は、より多くの情報をここで見つけました https://qiita.com/kikutaro/items/e7a871f455e5f2c077f4著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .