首页 文章

无法使用正确的Manifest执行使用gradle构建的jar

提问于
浏览
0

我有一个JavaFx应用程序,我无法从命令行和Windows资源管理器运行它 . 我使用Gradle构建了jar,并检查了清单,它是正确的 . 我尝试了StackOverflow的所有内容,但它始终抱怨它找不到Manifest的入口点:

我的主要位于src / main / java,它叫做Main .

这是gradle的配置:

group 'com'
version '1.0'

apply plugin: 'java'
apply plugin: 'application'

sourceCompatibility = 1.8

mainClassName = 'Main'

repositories {
    mavenCentral()
}

jar {
    manifest {
        attributes('Main-Class': 'Main')
    }
    from {
        configurations.compile.collect { it.isDirectory() ? it : zipTree(it) }
    }
}

请忽略这些依赖(我 Build 了一个超级 jar ) . 这是我的清单的内容(由gradle创建,最后是新行):

Manifest-Version: 1.0
Main-Class: Main

当我尝试运行它时,我总是得到这个:错误:无法找到或加载主类Main

1 回答

  • 0

    因为您应用 application 插件,所以不需要 jar 任务的自定义 . 所以我建议你删除它们,然后检查它是否创建了一个有效的jar .

    虽然我没有通过在本地运行它来确认,但我相信在 from 中完成的自定义是错误的并且创建了一个破坏的jar .

相关问题