java - JXBrowser类NotFoundException

标签 java swing gradle build.gradle jxbrowser

我的 JXBrowser 许可证文件有问题。我关注了https://jxbrowser-support.teamdev.com/docs/quickstart/gradle-config.html使用 Gradle 的官方指南,这是我当前的 build.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'
}

运行时发生错误,我不确定我的 build.Gradle 是错误的还是这里有错误

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

最佳答案

我想您在通过可执行 JAR 文件运行 Java 应用程序时会看到此异常。

此异常表明您没有将 JxBrowser JAR 文件包含到应用程序类路径中。我看到您将 JxBrowser JAR 文件作为编译依赖项包含到 build.gradle 中。在构建过程中没问题,但在生产过程中就不行了。

请确保将 JxBrowser JAR 文件添加到应用程序的类路径中。例如,您可以 download所需的 JAR 文件,将它们放入某个目录,然后在 JAR 文件中配置 Class-Path 属性,如 Oracle 的 tutorial 中所示.

或者您可以使用Gradle plugin它将所有依赖项包含到一个胖 JAR 中。在这种情况下,您不需要配置 Java 应用程序类路径。

关于java - JXBrowser类NotFoundException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53354447/

相关文章:

java - 图像未出现

java - 如何使用鼠标监听器和计时器计算点击次数

java - 如何将额外的文件与 jlink 图像捆绑在一起

java - Flat 的子项目包含在 gradle 中未找到的多项目

java - Java 中的 SVG 圆分辨率

java - 为 spring 项目配置 liquibase

java - 非常大的对象集合的客户端 View 。如何优化?

java - Struts 2 中的 TagUtils.getInstance().lookup() Struts1 的等效项

java - Maven 在理论上和实践中做了什么?什么时候值得使用?

android - Android Studio Gradle构建错误:app:mergeDebugResources,处理Cruncher loader.png失败