H2在JLink期间出错,但是MySql很好

问题描述

下面的build.gradle文件和module-info.java文件都能够同时运行具有MySql数据库或H2嵌入式数据库或两者的JavaFX应用程序。要明确的是,这是三种不同的安排。我已注释掉MySql依赖项以证明我的意思。

当尝试使用JLink时,build.gradle的当前H2变体会出现此错误:

F:\ path \ to \ project \ build \ jlinkbase \ mergedjars \ META-INF \ services \ java.sql.Driver (系统找不到指定的路径)

但是,任何带有MySql依赖项未注释的JLink变体都可以正常工作-带有或不带有H2依赖项。为什么会这样?

build.gradle

//    Gradle version = 6.3
plugins {
    id 'application'
    id "org.beryx.jlink" version "2.22.0"
    id 'org.openjfx.javafxplugin' version '0.0.8'
}
sourceCompatibility = 14
mainClassName = 'mod/app.Main'

repositories {
    jcenter()
    mavenCentral()
}
dependencies {
    implementation ('com.h2database:h2:1.4.200')
//    implementation ('mysql:mysql-connector-java:8.0.16')
}

javafx {
    version = '14.0.1'
    modules = [ 'javafx.controls']
}
jlink {
    addOptions('--strip-debug','--compress','2','--no-header-files','--no-man-pages')
    launcher {
        name = 'start-app'
    }
}

jar {
    manifest {
        attributes(
                'Main-Class': 'mod/app.Main'
        )
    }
}

module-info.java

module mod {
    requires javafx.controls;
    requires java.sql;

    exports app;
}

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...