> For the complete documentation index, see [llms.txt](https://jack80342.gitbook.io/spring-boot/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://jack80342.gitbook.io/spring-boot/vi.-deploying-spring-boot-applications/61.-installing-spring-boot-applications.md).

# 61. 安装Spring Boot应用

除了使用`java -jar`运行Spring Boot应用，制作在Unix系统上完全可执行的应用也是可能的。完全可执行的jar可以像其它的可执行二进制文件一样被执行，或者可以用[`init.d`或`systemd`进行注册](https://docs.spring.io/spring-boot/docs/2.0.0.RELEASE/reference/htmlsingle/#deployment-service)。这会简化常见生产环境Spring Boot应用的安装和管理。

**警告⚠️** 通过在文件之前嵌入一段额外的脚本，来启动完全可执行的Jar。目前，一些工具尚不接受这种格式，所以你并不总是能够使用这项技术。比如，`jar -xf`可能会在解压一个完全可执行的jar或者war文件时悄悄地失败。建议你仅在想要直接执行它的情况下，将你的jar或者war文件制作为完全可执行的格式。不要在只是想要使用`java -jar`运行它，或者在一个servlet容器部署它的时候这样做。

在Maven中添加以下plugin配置可以创建一个"完全可执行"jar：

```markup
<plugin>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-maven-plugin</artifactId>
    <configuration>
        <executable>true</executable>
    </configuration>
</plugin>
```

对于Gradle，等价的配置如下：

```
bootJar {
    launchScript()
}
```

然后输入`./my-application.jar`运行应用（`my-application`是你的artifact name）。包含jar文件的目录会被当作你的应用工作目录使用。
