JXBrowser ClassNotFoundException - PullRequest
       8

JXBrowser ClassNotFoundException

0 голосов
/ 17 ноября 2018

У меня проблема с файлом лицензии JXBrowser. Я следовал https://jxbrowser -support.teamdev.com / docs / quickstart / gradle-config.html официальному руководству по использованию с Gradle, и это моя текущая сборка. Gradle

Сборка кажется нормальной и никаких ошибок.

plugins {
    id 'java'
}

sourceSets {
    main {
        java {
            srcDir 'src'
        }
    }

    test {
        java {
            srcDir 'test'
        }
    }
}

jar {
    manifest {
        attributes 'Main-Class': 'main.Main'
    }
}

version '1.0'

sourceCompatibility = 1.8

repositories {
    mavenCentral()
    maven { url = 'http://maven.teamdev.com/repository/products' }
}

ext {
    jxBrowserVersion = '6.22'
}

dependencies {
    compile group: 'org.postgresql', name: 'postgresql', version: '42.2.5'
    compile "com.teamdev.jxbrowser:jxbrowser-cross-platform:${jxBrowserVersion}"
    compile 'com.maxmind.geoip2:geoip2:2.12.0'

    compile files("$rootDir/license.jar")

    testCompile group: 'junit', name: 'junit', version: '4.12'
}

Ошибка возникает, когда он запускается. Я не уверен, что моя сборка неправильная.

Exception in thread "main" java.lang.NoClassDefFoundError: com/teamdev/jxbrowser/chromium/PermissionHandler
    at main.Main.main(Main.java:8)
Caused by: java.lang.ClassNotFoundException: com.teamdev.jxbrowser.chromium.PermissionHandler
    at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:582)
    at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)
    at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)
    ... 1 more

Ответы [ 2 ]

0 голосов
/ 20 ноября 2018

Теперь это работает с использованием JDK & JRE <10 </p>

0 голосов
/ 19 ноября 2018

Полагаю, вы видите это исключение при запуске приложения Java через исполняемый файл JAR.

Это исключение указывает на то, что вы не включили JAR-файлы JxBrowser в путь к классу приложения.Я вижу, что вы включаете JAR-файлы JxBrowser в качестве зависимостей компиляции в build.gradle.Это нормально во время сборки, но не для производства.

Пожалуйста, убедитесь, что вы добавляете JAR-файлы JxBrowser в classpath вашего приложения.Например, вы можете загрузить требуемые файлы JAR, поместить их в какой-либо каталог и настроить атрибут Class-Path в своем файле JAR, как показано в учебнике Oracle .

Или вы можете использовать Gradle плагин , который включает все зависимости в один толстый JAR.В этом случае вам не нужно настраивать classpath приложения Java.

...