Java 11を使っていると、mvn で例外が発生するので、その回避策のメモです。
> java --version java 11.0.1 2018-10-16 LTS Java(TM) SE Runtime Environment 18.9 (build 11.0.1+13-LTS) Java HotSpot(TM) 64-Bit Server VM 18.9 (build 11.0.1+13-LTS, mixed mode)
これは、一部ライブラリが標準でなくなってしまった影響です。実行結果を見ると、JAXBException
が発生していることがわかります。
> mvn azure-webapp:config [INFO] Scanning for projects... [INFO] [INFO] ----------------------< test.webapp:test-server2 >---------------------- [INFO] Building test-server2 Maven Webapp 1.0-SNAPSHOT [INFO] --------------------------------[ war ]--------------------------------- [INFO] [INFO] --- azure-webapp-maven-plugin:1.5.4:config (default-cli) @ test-server2 --- [INFO] ------------------------------------------------------------------------ [INFO] BUILD FAILURE [INFO] ------------------------------------------------------------------------ [INFO] Total time: 2.471 s [INFO] Finished at: 2019-03-29T07:10:35+09:00 [INFO] ------------------------------------------------------------------------ [ERROR] Failed to execute goal com.microsoft.azure:azure-webapp-maven-plugin:1.5.4:config (default-cli) on project test-server2: Execution default-cli of goal com.microsoft.azure:azure-webapp-maven-plugin:1.5.4:config failed: A required class was missing while executing com.microsoft.azure:azure-webapp-maven-plugin:1.5.4:config: javax/xml/bind/JAXBException
回避方法
とりあえず、plugin要素下に普通にJAXBへの依存を書けばよいです。
<build> <finalName>test-server2</finalName> <plugins> <plugin> <groupId>com.microsoft.azure</groupId> <artifactId>azure-webapp-maven-plugin</artifactId> <version>1.5.4</version> <dependencies> <dependency> <groupId>javax.xml.bind</groupId> <artifactId>jaxb-api</artifactId> <version>2.3.1</version> </dependency> </dependencies> </plugin> </plugins> </build>
pluginの下に記述できるのを知らなくてしばし悩みました。根本的には、Pluginで対処してもらうしかなさそうですが。