Quarkus のクィック・スタートでmvn dependency:treeをやってみた

はじめに

本エントリの内容は件名通りです。

プロジェクト生成のコマンド

以下のコマンドを使用しました。Quarkus: コンテナ上で Java アプリを高速起動する新しい手法のご紹介 | 寺田 佳央 - Yoshio Teradaに記載されているママですね。

$ mvn io.quarkus:quarkus-maven-plugin:0.11.0:create \
    -DprojectGroupId=org.acme \
    -DprojectArtifactId=getting-started \
    -DclassName="org.acme.quickstart.GreetingResource" \
    -Dpath="/hello"

pom.xmlの内容

<?xml version="1.0"?>
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <modelVersion>4.0.0</modelVersion>
  <groupId>org.acme</groupId>
  <artifactId>getting-started</artifactId>
  <version>1.0-SNAPSHOT</version>
  <properties>
    <surefire-plugin.version>2.22.0</surefire-plugin.version>
    <quarkus.version>0.11.0</quarkus.version>
    <maven.compiler.source>1.8</maven.compiler.source>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <maven.compiler.target>1.8</maven.compiler.target>
  </properties>
  <dependencyManagement>
    <dependencies>
      <dependency>
        <groupId>io.quarkus</groupId>
        <artifactId>quarkus-bom</artifactId>
        <version>${quarkus.version}</version>
        <type>pom</type>
        <scope>import</scope>
      </dependency>
    </dependencies>
  </dependencyManagement>
  <dependencies>
    <dependency>
      <groupId>io.quarkus</groupId>
      <artifactId>quarkus-resteasy</artifactId>
    </dependency>
    <dependency>
      <groupId>io.quarkus</groupId>
      <artifactId>quarkus-arc</artifactId>
    </dependency>
    <dependency>
      <groupId>io.quarkus</groupId>
      <artifactId>quarkus-junit5</artifactId>
    </dependency>
    <dependency>
      <groupId>io.rest-assured</groupId>
      <artifactId>rest-assured</artifactId>
      <scope>test</scope>
    </dependency>
  </dependencies>
  <build>
    <plugins>
      <plugin>
        <groupId>io.quarkus</groupId>
        <artifactId>quarkus-maven-plugin</artifactId>
        <version>${quarkus.version}</version>
        <executions>
          <execution>
            <goals>
              <goal>build</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <artifactId>maven-surefire-plugin</artifactId>
        <version>${surefire-plugin.version}</version>
        <configuration>
          <systemProperties>
            <java.util.logging.manager>org.jboss.logmanager.LogManager</java.util.logging.manager>
          </systemProperties>
        </configuration>
      </plugin>
    </plugins>
  </build>
  <profiles>
    <profile>
      <id>native</id>
      <activation>
        <property>
          <name>native</name>
        </property>
      </activation>
      <build>
        <plugins>
          <plugin>
            <groupId>io.quarkus</groupId>
            <artifactId>quarkus-maven-plugin</artifactId>
            <version>${quarkus.version}</version>
            <executions>
              <execution>
                <goals>
                  <goal>native-image</goal>
                </goals>
                <configuration>
                  <enableHttpUrlHandler>true</enableHttpUrlHandler>
                </configuration>
              </execution>
            </executions>
          </plugin>
          <plugin>
            <artifactId>maven-failsafe-plugin</artifactId>
            <version>${surefire-plugin.version}</version>
            <executions>
              <execution>
                <goals>
                  <goal>integration-test</goal>
                  <goal>verify</goal>
                </goals>
                <configuration>
                  <systemProperties>
                    <native.image.path>${project.build.directory}/${project.build.finalName}-runner</native.image.path>
                  </systemProperties>
                </configuration>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>
  </profiles>
</project>

mvn dependency:treeの結果

以下の通りです。

$ mvn dependency:tree
[INFO] Scanning for projects...
[INFO] 
[INFO] ------------------------------------------------------------------------
[INFO] Building getting-started 1.0-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO] 
[INFO] --- maven-dependency-plugin:2.8:tree (default-cli) @ getting-started ---
[INFO] org.acme:getting-started:jar:1.0-SNAPSHOT
[INFO] +- io.quarkus:quarkus-resteasy:jar:0.11.0:provided
[INFO] |  +- io.quarkus:quarkus-core:jar:0.11.0:provided
[INFO] |  |  +- commons-beanutils:commons-beanutils-core:jar:1.8.3:provided
[INFO] |  |  +- org.jboss.invocation:jboss-invocation:jar:1.5.1.Final:provided
[INFO] |  |  +- org.wildfly.common:wildfly-common:jar:1.5.0.Final-format-001:provided
[INFO] |  |  +- org.jboss.classfilewriter:jboss-classfilewriter:jar:1.2.4.Final:provided
[INFO] |  |  +- io.quarkus.gizmo:gizmo:jar:1.0.0.Alpha2:provided
[INFO] |  |  +- org.jboss:jandex:jar:2.1.1.Final:provided
[INFO] |  |  +- org.ow2.asm:asm:jar:6.2.1:provided
[INFO] |  |  +- io.quarkus:quarkus-core-runtime:jar:0.11.0:provided
[INFO] |  |  |  +- javax.inject:javax.inject:jar:1:provided
[INFO] |  |  |  +- io.smallrye:smallrye-config:jar:1.3.5:provided
[INFO] |  |  |  |  \- org.eclipse.microprofile.config:microprofile-config-api:jar:1.3:provided
[INFO] |  |  |  |     \- org.osgi:org.osgi.annotation.versioning:jar:1.0.0:provided
[INFO] |  |  |  +- org.jboss.logmanager:jboss-logmanager-embedded:jar:1.0.0:provided
[INFO] |  |  |  |  \- com.oracle.substratevm:svm:jar:1.0.0-rc12:provided
[INFO] |  |  |  +- org.jboss.logging:jboss-logging-annotations:jar:2.1.0.Final:provided
[INFO] |  |  |  +- org.jboss.threads:jboss-threads:jar:3.0.0.Alpha4:provided
[INFO] |  |  |  +- org.slf4j:slf4j-api:jar:1.7.25:provided
[INFO] |  |  |  +- org.jboss.slf4j:slf4j-jboss-logging:jar:1.1.0.Final:provided
[INFO] |  |  |  +- org.graalvm.sdk:graal-sdk:jar:1.0.0-rc12:provided
[INFO] |  |  |  +- org.wildfly.security:wildfly-elytron-ssl:jar:2.0.0.Alpha1:provided
[INFO] |  |  |  |  +- org.wildfly.security:wildfly-elytron-auth-server:jar:2.0.0.Alpha1:provided
[INFO] |  |  |  |  |  \- org.wildfly.security:wildfly-elytron-permission:jar:2.0.0.Alpha1:provided
[INFO] |  |  |  |  +- org.wildfly.security:wildfly-elytron-base:jar:2.0.0.Alpha1:provided
[INFO] |  |  |  |  +- org.wildfly.security:wildfly-elytron-credential:jar:2.0.0.Alpha1:provided
[INFO] |  |  |  |  +- org.wildfly.security:wildfly-elytron-auth:jar:2.0.0.Alpha1:provided
[INFO] |  |  |  |  +- org.wildfly.security:wildfly-elytron-util:jar:2.0.0.Alpha1:provided
[INFO] |  |  |  |  \- org.wildfly.security:wildfly-elytron-x500:jar:2.0.0.Alpha1:provided
[INFO] |  |  |  \- org.wildfly.security:wildfly-elytron-x500-cert:jar:2.0.0.Alpha1:provided
[INFO] |  |  |     +- org.wildfly.security:wildfly-elytron-asn1:jar:2.0.0.Alpha1:provided
[INFO] |  |  |     \- org.wildfly.security:wildfly-elytron-x500-cert-util:jar:2.0.0.Alpha1:provided
[INFO] |  |  \- io.quarkus:quarkus-builder:jar:0.11.0:provided
[INFO] |  +- io.quarkus:quarkus-resteasy-common:jar:0.11.0:provided
[INFO] |  |  \- io.quarkus:quarkus-resteasy-common-runtime:jar:0.11.0:provided
[INFO] |  |     \- org.jboss.resteasy:resteasy-core:jar:4.0.0.Beta8:provided
[INFO] |  |        +- org.jboss.spec.javax.ws.rs:jboss-jaxrs-api_2.1_spec:jar:1.0.2.Final:provided
[INFO] |  |        +- org.jboss.spec.javax.xml.bind:jboss-jaxb-api_2.3_spec:jar:1.0.1.Final:provided
[INFO] |  |        +- org.jboss.resteasy:resteasy-core-spi:jar:4.0.0.Beta8:provided
[INFO] |  |        +- org.reactivestreams:reactive-streams:jar:1.0.2:provided
[INFO] |  |        +- commons-io:commons-io:jar:2.5:provided
[INFO] |  |        \- net.jcip:jcip-annotations:jar:1.0:provided
[INFO] |  +- io.quarkus:quarkus-undertow:jar:0.11.0:provided
[INFO] |  |  +- io.undertow:undertow-servlet:jar:2.0.17.Final:provided
[INFO] |  |  |  +- io.undertow:undertow-core:jar:2.0.17.Final:provided
[INFO] |  |  |  \- org.jboss.spec.javax.servlet:jboss-servlet-api_4.0_spec:jar:1.0.0.Final:provided
[INFO] |  |  +- io.quarkus:quarkus-undertow-runtime:jar:0.11.0:provided
[INFO] |  |  |  +- org.jboss.xnio:xnio-nio:jar:3.6.5.Final:provided
[INFO] |  |  |  \- org.jboss.xnio:xnio-api:jar:3.6.5.Final:provided
[INFO] |  |  \- org.jboss.metadata:jboss-metadata-web:jar:11.0.0.Final:provided
[INFO] |  |     \- org.jboss.metadata:jboss-metadata-common:jar:11.0.0.Final:provided
[INFO] |  +- io.quarkus:quarkus-jaxb:jar:0.11.0:provided
[INFO] |  |  \- io.quarkus:quarkus-jaxb-runtime:jar:0.11.0:provided
[INFO] |  \- io.quarkus:quarkus-resteasy-runtime:jar:0.11.0:provided
[INFO] |     +- javax.validation:validation-api:jar:2.0.1.Final:provided
[INFO] |     \- com.sun.activation:jakarta.activation:jar:1.2.1:provided
[INFO] +- io.quarkus:quarkus-arc:jar:0.11.0:provided
[INFO] |  +- io.quarkus:quarkus-arc-runtime:jar:0.11.0:provided
[INFO] |  |  \- io.quarkus.arc:arc-runtime:jar:0.11.0:provided
[INFO] |  \- io.quarkus.arc:arc-processor:jar:0.11.0:provided
[INFO] |     +- javax.enterprise:cdi-api:jar:2.0.SP1:provided
[INFO] |     |  +- javax.el:javax.el-api:jar:3.0.0:provided
[INFO] |     |  \- javax.interceptor:javax.interceptor-api:jar:1.2:provided
[INFO] |     +- org.jboss.logging:jboss-logging:jar:3.3.2.Final:provided
[INFO] |     \- javax.annotation:javax.annotation-api:jar:1.3.2:provided
[INFO] +- io.quarkus:quarkus-junit5:jar:0.11.0:test
[INFO] |  +- io.quarkus:quarkus-test-common:jar:0.11.0:test
[INFO] |  |  \- org.glassfish:javax.json:jar:1.1.4:test
[INFO] |  +- org.junit.jupiter:junit-jupiter-api:jar:5.3.2:test
[INFO] |  |  +- org.apiguardian:apiguardian-api:jar:1.0.0:test
[INFO] |  |  +- org.opentest4j:opentest4j:jar:1.1.1:test
[INFO] |  |  \- org.junit.platform:junit-platform-commons:jar:1.3.2:test
[INFO] |  +- org.junit.jupiter:junit-jupiter-params:jar:5.3.2:test
[INFO] |  \- org.junit.jupiter:junit-jupiter-engine:jar:5.3.2:test
[INFO] |     \- org.junit.platform:junit-platform-engine:jar:1.3.2:test
[INFO] \- io.rest-assured:rest-assured:jar:3.3.0:test
[INFO]    +- org.codehaus.groovy:groovy:jar:2.4.15:test
[INFO]    +- org.codehaus.groovy:groovy-xml:jar:2.4.15:test
[INFO]    +- org.apache.httpcomponents:httpclient:jar:4.5.6:provided
[INFO]    |  +- org.apache.httpcomponents:httpcore:jar:4.4.10:provided
[INFO]    |  +- commons-logging:commons-logging:jar:1.2:provided
[INFO]    |  \- commons-codec:commons-codec:jar:1.10:provided
[INFO]    +- org.apache.httpcomponents:httpmime:jar:4.5.3:test
[INFO]    +- org.hamcrest:hamcrest-core:jar:1.3:test
[INFO]    +- org.hamcrest:hamcrest-library:jar:1.3:test
[INFO]    +- org.ccil.cowan.tagsoup:tagsoup:jar:1.2.1:test
[INFO]    +- io.rest-assured:json-path:jar:3.3.0:test
[INFO]    |  +- org.codehaus.groovy:groovy-json:jar:2.4.15:test
[INFO]    |  \- io.rest-assured:rest-assured-common:jar:3.3.0:test
[INFO]    \- io.rest-assured:xml-path:jar:3.3.0:test
[INFO]       +- org.apache.commons:commons-lang3:jar:3.4:test
[INFO]       +- javax.xml.bind:jaxb-api:jar:2.3.1:provided
[INFO]       +- com.sun.xml.bind:jaxb-osgi:jar:2.2.10:test
[INFO]       \- org.apache.sling:org.apache.sling.javax.activation:jar:0.1.0:test
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 2.979 s
[INFO] Finished at: 2019-03-13T21:19:58+09:00
[INFO] Final Memory: 26M/260M
[INFO] ------------------------------------------------------------------------

さいごに

特にオチはないです。