2015-03-10 13:59:38 +00:00
|
|
|
|
### 59.4. 打包可执行jar和war文件
|
|
|
|
|
|
|
|
|
|
一旦`spring-boot`插件被应用到你的项目,它将使用`bootRepackage`任务自动尝试重写存档以使它们能够执行。为了构建一个jar或war,你需要按通常的方式配置项目。
|
|
|
|
|
|
|
|
|
|
你想启动的main类既可以通过一个配置选项指定,也可以通过向manifest添加一个`Main-Class`属性。如果你没有指定main类,该插件会搜索带有`public static void main(String[] args)`方法的类。
|
|
|
|
|
|
|
|
|
|
为了构建和运行一个项目artifact,你可以输入以下内容:
|
|
|
|
|
```shell
|
|
|
|
|
$ gradle build
|
|
|
|
|
$ java -jar build/libs/mymodule-0.0.1-SNAPSHOT.jar
|
|
|
|
|
```
|
|
|
|
|
为了构建一个即能执行也可以部署到外部容器的war包,你需要将内嵌容器依赖标记为"providedRuntime",比如:
|
|
|
|
|
```gradle
|
|
|
|
|
...
|
|
|
|
|
apply plugin: 'war'
|
|
|
|
|
|
|
|
|
|
war {
|
|
|
|
|
baseName = 'myapp'
|
|
|
|
|
version = '0.5.0'
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
repositories {
|
|
|
|
|
jcenter()
|
|
|
|
|
maven { url "http://repo.spring.io/libs-snapshot" }
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
configurations {
|
|
|
|
|
providedRuntime
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
dependencies {
|
|
|
|
|
compile("org.springframework.boot:spring-boot-starter-web")
|
|
|
|
|
providedRuntime("org.springframework.boot:spring-boot-starter-tomcat")
|
|
|
|
|
...
|
|
|
|
|
}
|
|
|
|
|
```
|
2015-05-31 14:17:58 +00:00
|
|
|
|
**注**:具体参考[“Section 74.1, “Create a deployable war file””](../IX. ‘How-to’ guides/74.1. Create a deployable war file.md)。
|