jaxb-api-2.3.0.jar
- это мульти-релиз jar, и текущий плагин jfxmobile 1.3.10 не может с этим справиться.
Плагин, предназначенный для Java 7/8, использует retrolambda для переноса обратно в Java 6/7 с заданной зависимостью.
Даже если вы попытаетесь удалить module-info.class or the 9 version
META-INF.versions.9.javax.xml.bind`, эти классы обрабатываются плагином retrolambda, и это приведет к исключению, опубликованному в вопросе. Использование последней версии retrolambda также не помогает.
android {
retrolambdaVersion = "2.5.3"
manifest = 'src/android/AndroidManifest.xml'
packagingOptions {
exclude '/module-info.class'
exclude '/META-INF.versions.9.javax.xml.bind/ModuleUtil.class'
}
}
Единственный способ заставить его работать в Java 8 / jfxmobile 1.3.10 - это изменить плагин, добавив следующее исключение к JFXMobilePlugin
:
copyClassesForRetrolambda.include '**/*.class'
copyClassesForRetrolambda.includeEmptyDirs = false
// exception for multi-release jars
copyClassesForRetrolambda.exclude 'META-INF/versions/**/*.class'
copyClassesForRetrolambda.exclude 'module-info.class'
, а затем создайте плагин и используйте локальный снимок.
Хорошей новостью является то, что при использовании плагина jfxmobile версии 2.0.20 и Gluon VM, предназначенной для Java 9+, вышеприведенное уже включено .
Если вы можете переключиться на Java 9/10, измените свой проект, чтобы использовать этот плагин, создайте новый проект с плагином Gluon IDE («проект с одним представлением с Gluon VM») или следуйте этому примеру , но с использованием последней версии (пока 2.0.20).
buildscript {
repositories {
jcenter()
google()
maven {
url 'http://nexus.gluonhq.com/nexus/content/repositories/releases'
}
}
dependencies {
classpath 'org.javafxports:jfxmobile-plugin:2.0.20'
}
}
apply plugin: 'org.javafxports.jfxmobile'
repositories {
jcenter()
maven {
url 'http://nexus.gluonhq.com/nexus/content/repositories/releases'
}
}
mainClassName = '...'
sourceCompatibility = 1.8
targetCompatibility = 1.8
dependencies {
compile 'com.gluonhq:charm:5.0.0-jdk9'
androidRuntime 'com.gluonhq:charm:5.0.0'
compile 'javax.xml.bind:jaxb-api:2.3.0'
}