# 64.6 Repackage配置

该插件添加了一个`bootRepackage`任务，你可以直接配置它，比如：

```
bootRepackage {
    mainClass = 'demo.Application'
}
```

下面是可用的配置选项：

| 名称                               | 描述                                                                                                                                                                                                                                       |
| -------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `enabled`                        | 布尔值，用于控制repackager的开关（如果你只想要Boot的其他特性而不是这个，那它就派上用场了）                                                                                                                                                                                     |
| `mainClass`                      | 要运行的main类。如果没有指定，则使用project属性`mainClassName`。如果该应用插件没有使用或没有定义`mainClassName`，则搜索存档以寻找一个合适的类。"合适"意味着一个唯一的，具有良好格式的`main()`方法的类（如果找到多个则构建会失败）。你也可以通过`run`任务（`main`属性）指定`main`类的名称，和/或将"startScripts"（`mainClassName`属性）作为"springBoot"配置的替代。 |
| `classifier`                     | 添加到存档的一个文件名字段（在扩展之前），这样最初保存的存档仍旧存放在最初的位置。在存档被重新打包（repackage）的情况下，该属性默认为`null`。默认值适用于多数情况，但如果你想在另一个项目中使用原jar作为依赖，最好使用一个扩展来定义该可执行jar                                                                                                       |
| `withJarTask`                    | Jar任务的名称或值，用于定位要被repackage的存档                                                                                                                                                                                                            |
| `customConfiguration`            | 自定义配置的名称，用于填充内嵌的lib目录（不指定该属性，你将获取所有编译和运行时依赖）                                                                                                                                                                                             |
| `executable`                     | 布尔值标识，表示jar文件在类Unix系统上是否完整可执行，默认为`false`                                                                                                                                                                                                 |
| `embeddedLaunchScript`           | 如果jar是完整可执行的，该内嵌启动脚本将添加到jar。如果没有指定，将使用Spring Boot默认的脚本                                                                                                                                                                                   |
| `embeddedLaunchScriptProperties` | 启动脚本暴露的其他属性，默认脚本支持`mode`属性，值可以是`auto`，`service`或`run`                                                                                                                                                                                    |
| `excludeDevtools`                | 布尔值标识，表示devtools jar是否应该从重新打包的存档中排除出去，默认为`false`                                                                                                                                                                                         |
