【问题标题】:Example of Spring Boot + Vaadin 14 + bootJar + GradleSpring Boot + Vaadin 14 + bootJar + Gradle 示例
【发布时间】:2021-03-14 12:45:08
【问题描述】:

我有一个在 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 文件中时,我运行它,发现前端已损坏。浏览器给了我这个错误...

【问题讨论】:

  • 请添加您尝试过的代码以及失败的原因(例如错误、堆栈跟踪、日志等),以便我们对其进行改进。
  • 我用 Maven 构建了可运行的 jars(Spring Boot,Vaadin 14)。有一些选项会让事情变得有点混乱。 application.properties 中的 vaadin.productionMode、vaadin.compatibilityMode 和 original.frontend.resources 等选项。
  • 请明确说明您如何“构建和打包前端”。 gradle -DproductionMode=true vaadinBuildFrontend jar ?
  • 由于我只使用Java,我不需要Maven目标vaadin:build-frontend。 vaadin.com/docs/flow/production/…

标签: spring-boot gradle vaadin executable-jar


【解决方案1】:

最终发现这是由于组件已弃用(我对 Vaadin 依赖项不满意)。某处发生了故障,但错误出现在看似完全不相关的事情中。在这种情况下,我需要升级的是 apexcharts。

【讨论】:

    猜你喜欢
    • 2021-05-27
    • 1970-01-01
    • 2020-10-14
    • 2021-08-20
    • 1970-01-01
    • 2021-11-13
    • 2021-02-21
    • 1970-01-01
    • 2020-12-14
    相关资源
    最近更新 更多