spring-boot - Spring Boot + Vaadin 14 + bootJar + Gradle 示例
问题描述
我有一个在 STS IDE 中运行的应用程序......我认为构建一个可运行的 jar 会很简单,因为它是一个 Spring Boot 应用程序,但现在我不再确定了。关于如何构建前端包并允许将其打包在可运行的 jar 中,似乎没有任何明确的指南。我尝试了 Gradle 的 Vaadin 插件,但我无法让它工作......在某个地方有一个工作示例吗?
谢谢。
这是 build.gradle 的要点
plugins {
id 'org.springframework.boot' version '2.4.0'
id 'io.spring.dependency-management' version '1.0.10.RELEASE'
id 'java'
id 'com.vaadin' version '0.14.3.7'
}
group = 'dsto.eosil.cc'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = '1.8'
configurations {
compileOnly {
extendsFrom annotationProcessor
}
}
repositories {
mavenCentral()
maven {
url 'http://maven.vaadin.com/vaadin-addons'
}
}
ext {
set('vaadinVersion', "14.4.4")
}
dependencies {
implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
implementation 'org.springframework.boot:spring-boot-starter-security'
implementation 'org.springframework.boot:spring-boot-starter-web'
implementation 'com.vaadin:vaadin-spring-boot-starter'
implementation 'org.liquibase:liquibase-core'
compileOnly 'org.projectlombok:lombok'
developmentOnly 'org.springframework.boot:spring-boot-devtools'
runtimeOnly 'org.postgresql:postgresql'
annotationProcessor 'org.projectlombok:lombok'
testImplementation 'org.springframework.boot:spring-boot-starter-test'
testImplementation 'org.springframework.restdocs:spring-restdocs-mockmvc'
testImplementation 'org.springframework.security:spring-security-test'
testImplementation 'org.springframework.amqp:spring-rabbit-test'
testImplementation 'com.h2database:h2'
}
dependencyManagement {
imports {
mavenBom "com.vaadin:vaadin-bom:${vaadinVersion}"
}
}
test {
useJUnitPlatform()
}
vaadin {
productionMode=true
pnpmEnable=true
}
defaultTasks("clean", "vaadinBuildFrontend", "bootJar")
当我最终构建了前端并将其打包到 jar 文件中时,我运行它,发现前端已损坏。浏览器给我这个错误...
解决方案
最终发现这是由于组件已弃用(我对 Vaadin 依赖项不满意)。某处发生了故障,但错误出现在看似完全无关的事情中。在这种情况下,我需要升级的是 apexcharts。
推荐阅读
- javascript - Node.js 单线程 Vs 并发
- ruby-on-rails - Rails 5 Active Storage:显示多个图像
- c# - 从扁平化的 json 响应中删除父节点
- python - 将数据写入QTextEdit时,关闭窗口时显示错误
- node.js - 尝试上传文件时出现“已被 CORS 策略阻止”
- python - 如何将数字替换为空间参数
- java - 我想用 csv 替换我当前的 selenium 生成的 xlsx 文件
- javascript - 通过网络浏览器运行终端
- python - 在 DataFrame 中查找第一次出现的索引
- php - 在会话中升级到 PHP 7 后出现问题