イケてなさ
バンドルされるwarファイルがwarプラグインのデフォルト設定で作られるので、プロジェクト名がそのままコンテキストパスになる。
なんとかする
build.gradle
war {
// /apiをコンテキストパスにするためにwarファイル名を設定する
archiveBaseName = 'api'
archiveVersion = ''
}
microBundle.doLast {
// UberJARの名前はwarではなくプロジェクト設定からとる
def uberName = "${project.archivesBaseName}-${project.version}"
def newPath = delegate.getUberJarPath().replace("${war.archiveBaseName.get()}", uberName)
delegate.getUberJar().renameTo(newPath)
}