maven-pluginのひな型を生成してみる

はじめに

maven-pluginのひな型を生成したことがなかったので、やってみました。

環境

どのアーキタイプを使うか?

mvn archetype:generateで得られる一覧をみると何個かアーキタイプの選択肢があるようです。
archetypeGroupIdがorg.apache.maven.archetypesのものから1個選んで生成してみることにします。

生成してみる

$ mvn org.apache.maven.plugins:maven-archetype-plugin:3.0.1:generate -DinteractiveMode=false -DarchetypeGroupId=org.apache.maven.archetypes -DarchetypeArtifactId=maven-archetype-plugin -DarchetypeVersion=1.4 -DgroupId=com.example -DartifactId=my-plu gin -Dversion=0.1.0 -Dpackage=com.example
[INFO] Scanning for projects...
[INFO]
[INFO] ------------------< org.apache.maven:standalone-pom >-------------------
[INFO] Building Maven Stub Project (No POM) 1
[INFO] --------------------------------[ pom ]---------------------------------
[INFO]
[INFO] >>> maven-archetype-plugin:3.0.1:generate (default-cli) > generate-sources @ standalone-pom >>>
[INFO]
[INFO] <<< maven-archetype-plugin:3.0.1:generate (default-cli) < generate-sources @ standalone-pom <<<
[INFO]
[INFO]
[INFO] --- maven-archetype-plugin:3.0.1:generate (default-cli) @ standalone-pom ---
[INFO] Generating project in Batch mode
[INFO] Archetype repository not defined. Using the one from [org.apache.maven.archetypes:maven-archetype-plugin:1.4] found in catalog remote
(中略)
[INFO] ----------------------------------------------------------------------------
[INFO] Using following parameters for creating project from Archetype: maven-archetype-plugin:1.4
[INFO] ----------------------------------------------------------------------------
[INFO] Parameter: groupId, Value: com.example
[INFO] Parameter: artifactId, Value: my-plugin
[INFO] Parameter: version, Value: 0.1.0
[INFO] Parameter: package, Value: com.example
[INFO] Parameter: packageInPathFormat, Value: com/example
[INFO] Parameter: package, Value: com.example
[INFO] Parameter: version, Value: 0.1.0
[INFO] Parameter: groupId, Value: com.example
[INFO] Parameter: artifactId, Value: my-plugin
[INFO] Project created from Archetype in dir: C:\Users\xxxx\git\github\yyyy\my-plugin
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 17.511 s
[INFO] Finished at: 2019-05-06T21:09:03+09:00

生成されたMavenPluginが想定している環境とか

生成されたPom.xmlのpropertiesの部分を引用します。

  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <maven.compiler.source>1.7</maven.compiler.source>
    <maven.compiler.target>1.7</maven.compiler.target>
    <maven.version>3.3.9</maven.version>
  </properties>

さいごに

archetypeVersion=1.4(2019年4月現在の最新)だと、Javaソースコードのバージョン1.7を想定しているんですね。
1.8が指定されるのかと漠然と想像していました。