spring_reference/IX. ‘How-to’ guides/73.4. Extract specific libr...

30 lines
1.2 KiB
Markdown
Raw Normal View History

### 73.4. 在可执行jar运行时提取特定的版本
在一个可执行jar中为了运行多数内嵌的库不需要拆包unpacked然而有一些库可能会遇到问题。例如JRuby包含它自己的内嵌jar它假定`jruby-complete.jar`本身总是能够直接作为文件访问的。
为了处理任何有问题的库你可以标记那些特定的内嵌jars让它们在可执行jar第一次运行时自动解压到一个临时文件夹中。例如为了将JRuby标记为使用Maven插件拆包你需要添加如下的配置
```xml
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<requiresUnpack>
<dependency>
<groupId>org.jruby</groupId>
<artifactId>jruby-complete</artifactId>
</dependency>
</requiresUnpack>
</configuration>
</plugin>
</plugins>
</build>
```
使用Gradle完全上述操作
```gradle
springBoot {
requiresUnpack = ['org.jruby:jruby-complete']
}
```