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

问题描述 投票:0回答:1

我有一个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) }
    }
}

请忽略依赖项(IN构建一个超级jar)。这是我的清单的内容(由gradle创建,最后是新行):

Manifest-Version: 1.0
Main-Class: Main

当我尝试运行它时,我得到所有的时间:错误:无法找到或加载主类Main

java gradle manifest executable-jar
1个回答
0
投票

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

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

© www.soinside.com 2019 - 2024. All rights reserved.