为了账号安全,请及时绑定邮箱和手机立即绑定

当包含 Gradle Vaadin 插件时,使用 Spring Boot“bootRun

当包含 Gradle Vaadin 插件时,使用 Spring Boot“bootRun

DIEA 2021-07-17 14:02:57
我的目标是建立一个简单的多模块项目,它使用 Spring Boot 2、Gradle 4.x 和 Vaadin 8.x 作为 UI。Vaadin 目前仅用于其中一个子项目,其他子项目提供服务或只是库。我从这个非常好的 Spring 教程开始,它(尽管使用了较旧的 Gradle 语法)生成了一个工作测试项目。它包含一个“libaray”子项目和一个“应用程序”子项目,具体取决于前者。“bootRun”和“bootJar”Gradle 任务都像魅力一样工作,并且在我将一些配置集中在父 build.grade 中后仍然有效。然后我将Vaadin Gradle Plugin添加到“应用程序”项目并更改端点以显示一个简单的 vaadin 标签。问题是,现在使用“bootRun”时,启动的应用程序不再能够访问它所依赖的“库”中的类。如果我删除代码中的任何依赖项,应用程序就可以工作,但是一旦我从“库”(例如“MyService”)中引用了一个类,它就会因“java.lang.ClassNotFoundException”而崩溃。但是,当使用“bootJar”部署相同的应用程序并运行 jar 时,一切正常,因此可以解决模块间依赖关系。现在我想知道我是否缺乏理解并且 Vaadin Gradle 插件需要额外/不同的模块依赖配置?或者这可能是 Vaadin Gradle 插件中的错误还是我的配置中的问题?我在没有得到任何线索的情况下阅读了这个插件的完整文档,已经在网上搜索过,但我既没有在这个特定的上下文中找到“NoClassDefFoundError”,也没有找到一个同时包含 Spring Boot 和 Vaadin 的工作多模块项目示例8.这是相关的示例代码(不包括导入):hello.app.DemoApplication@SpringBootApplication(scanBasePackages = "hello")@RestControllerpublic class DemoApplication {    //Service defined in dependent sub-project    private final MyService myService;    public DemoApplication(MyService myService) {        this.myService = myService;    }    public static void main(String[] args) {        SpringApplication.run(DemoApplication.class, args);    }}hello.app.StartUI/** Entry point for the Vaadin 8 UI */@SpringUI@SpringViewpublic class StartUI extends UI implements View {    @Override    protected void init(final VaadinRequest request) {        setContent(new Label("Hello vaadin"));    }}库gradle.propertiesplugins { id "io.spring.dependency-management" version "1.0.5.RELEASE" }ext { springBootVersion = '2.0.3.RELEASE' }jar {    baseName = 'library'    version = '0.0.1-SNAPSHOT'}dependencies {    implementation('org.springframework.boot:spring-boot-starter')    testImplementation('org.springframework.boot:spring-boot-starter-test')}dependencyManagement {    imports { mavenBom("org.springframework.boot:spring-boot-dependencies:${springBootVersion}") }}
查看完整描述

1 回答

  • 1 回答
  • 0 关注
  • 160 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信