大部门自定义插件必要额外的设置项。maven-shade-plugin 的设置项主要用于指定打包时的行为。下面是该插件常见的几个设置项:
(a) :用于修改 jar 文件的内容,尤其是资源文件的合并和 manifest 文件的设置。
在 jar 文件中,Manifest.mf 文件存放着关于 jar 文件的元数据信息,好比版本号、开发者信息等。在可执行 jar 文件中,Manifest.mf 的 Main-Class 字段决定了该 jar 的入口类(main)。设置 maven-shade-plugin 的 标签,并使用 ManifestResourceTransformer,可以指定 jar 的主类。
(b) :指定主类
用于定义应用程序启动时所使用的主类。即当使用 java -jar your-app.jar 启动 jar 文件时,JVM 会从 指定的类中寻找 public static void main(String[] args) 方法作为入口。