reference - 如何在gradle中导出可执行jar,并且这个jar可以运行,因为它包含引用库

标签 reference jar executable gradle noclassdeffounderror

如何在gradle中导出一个可执行的jar,并且这个jar可以运行,因为它包含了引用库。

构建.gradle

apply plugin: 'java'

manifest.mainAttributes("Main-Class" : "com.botwave.analysis.LogAnalyzer")

repositories {
    mavenCentral()
}

dependencies {
    compile (
        'commons-codec:commons-codec:1.6',
        'commons-logging:commons-logging:1.1.1',
        'org.apache.httpcomponents:httpclient:4.2.1',
        'org.apache.httpcomponents:httpclient:4.2.1',
        'org.apache.httpcomponents:httpcore:4.2.1',
        'org.apache.httpcomponents:httpmime:4.2.1',
        'ch.qos.logback:logback-classic:1.0.6',
        'ch.qos.logback:logback-core:1.0.6',
        'org.slf4j:slf4j-api:1.6.0',
        'junit:junit:4.+'
    )
}

运行后:gradle build

它创建构建文件夹,然后我在 build/libs/XXX.jar 中运行 jar:

java -jar build/libs/XXX.jar

这是一个执行命令:

Exception in thread "main" java.lang.NoClassDefFoundError: ch/qos/logback/core/joran/spi/JoranException

如何使用引用库运行它?

最佳答案

您可以通过Gradle application plugin来实现它

关于reference - 如何在gradle中导出可执行jar,并且这个jar可以运行,因为它包含引用库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58150261/

相关文章:

Java - 列表中的对象是由值还是引用保存的?

c++ - 结构 vector 只返回最后一个值

php - CCAvenue 交易 - 整合

java - 双击 Jar 文件无法运行

properties - 如何格式化可执行文件的属性详细信息

.net - 如何在 .net 中创建可执行文件

Excel从固定单元格引用到列末尾?

c++ - 复制构造函数初始化初始化列表中的引用成员导致悬空指针

java - 如何在linux中的类路径中添加多个jar文件

objective-c - 在 Mac 应用程序中嵌入可执行文件