问题描述
下面的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 (将#修改为@)