spring-boot - 如何使用 gradle 构建用于部署的 .war 文件
问题描述
所以我第一次玩了spring boot,它运行得很好,除了我不知道如何构建一个.war文件来部署到我的个人服务器上。我已经阅读了 Spring 网站上的十几个或更多博客文档,但我就是不知道如何构建 .war。
我正在使用 intellij、kotlin 和 gradle。任何为我指明正确方向的帮助将不胜感激。
这是我的 gradle 文件的样子:
import io.spring.gradle.dependencymanagement.dsl.DependencyManagementExtension
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
import org.springframework.boot.gradle.tasks.bundling.BootJar
import org.springframework.boot.gradle.tasks.bundling.BootWar
plugins {
kotlin("plugin.jpa") version "1.2.71"
id("org.springframework.boot") version "2.1.6.RELEASE"
id("io.spring.dependency-management") version "1.0.7.RELEASE"
kotlin("jvm") version "1.2.71"
kotlin("plugin.spring") version "1.2.71"
war
}
apply(plugin = "io.spring.dependency-management")
the<DependencyManagementExtension>().apply {
imports {
mavenBom(org.springframework.boot.gradle.plugin.SpringBootPlugin.BOM_COORDINATES)
}
}
. . . .
dependencies {
providedRuntime("org.springframework.boot:spring-boot-starter-tomcat")
implementation("org.springframework.boot:spring-boot-starter-data-jpa")
implementation("org.springframework.boot:spring-boot-starter-mustache")
implementation("org.springframework.boot:spring-boot-starter-web")
implementation("com.fasterxml.jackson.module:jackson-module-kotlin")
implementation("org.jetbrains.kotlin:kotlin-reflect")
implementation("org.jetbrains.kotlin:kotlin-stdlib-jdk8")
developmentOnly("org.springframework.boot:spring-boot-devtools")
runtimeOnly("com.h2database:h2")
testImplementation("org.springframework.boot:spring-boot-starter-test")
}
tasks.getByName<Jar>("jar") {
enabled = true
}
tasks.getByName<War>("war") {
enabled = true
}
tasks.getByName<BootJar>("bootJar") {
classifier = "boot"
mainClassName = "com.daniel.we_adventurers"
launchScript()
manifest {
attributes("Start-Class" to "com.daniel.we_adventurersn")
}
}
tasks.getByName<BootWar>("bootWar") {
classifier = "boot2"
mainClassName = "com.daniel.we_adventurers"
launchScript()
manifest {
attributes("Start-Class" to "com.daniel.we_adventurers")
attributes("Main-Class" to "org.springframework.boot.loader.PropertiesLauncher")
}
}
}
解决方案
假设您已经使用https://start.spring.io/创建了项目,那么只需按照文档创建war
存档:
如果您没有使用https://start.spring.io/创建它,那么我建议从那里创建一个并将其用作更新当前项目的参考。
推荐阅读
- javascript - 使用 Node.js 进行网页抓取
- python - 如何使用 map 根据一行代码中的条件返回修改后的字典?
- php - Drupal 9 - 代码修改不生效
- python - 如何使用 ajax 访问 Django REST 框架
- python - 跨步如何影响 keras 中的输入形状?
- reactjs - 数据添加到状态后渲染子组件
- ssl - 如何使用 `ioredis` 通过 SSL 跨 ssh 隧道连接到 Redis 实例(AWS elasticcache)?
- javascript - 如何防止数组的有效负载被react redux reducer上的html字符串替换?
- reactjs - 在不循环 Children.map 的情况下反应复合组件
- git - 在 Git 中删除超过 90 天的文件版本