我有一个 JavaFx 应用程序,我无法从命令行和 Windows 资源管理器运行它。我使用 Gradle 构建了 jar,并检查了 list ,它是正确的。我尝试了 StackOverflow 中的所有内容,但它总是提示无法从 Manifest 中找到入口点:
我的 main 位于 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) }
}
}
请忽略依赖项(我构建了一个 uber jar)。
这是我的 list 的内容(由 gradle 创建,末尾有新行):
Manifest-Version: 1.0
Main-Class: Main
当我尝试运行它时,我总是得到这个:
错误:无法找到或加载主类 Main
最佳答案
因为你申请了application
插件,没有 jar
的自定义任务是必需的。
所以我建议你删除它们,然后检查它是否创建了一个有效的 jar。
虽然我没有通过在本地运行它来确认,但我相信在 from
中完成的自定义是错误的,并创建了一个破 jar 。
关于java - 无法使用正确的 list 执行使用 gradle 构建的 jar,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49016976/