java – Gradle Output Jar没有Main-Class
发布时间:2020-12-14 05:43:33 所属栏目:Java 来源:网络整理
导读:我有以下简单的build.gradle文件: apply plugin: 'application'apply plugin: 'java'mainClassName = 'com.kurtis.HelloGradle' 以下单个java文件位于src / main / java / com / kurtis / HelloGradle.java: package com.kurtis;public class HelloGradle
我有以下简单的build.gradle文件:
apply plugin: 'application' apply plugin: 'java' mainClassName = 'com.kurtis.HelloGradle' 以下单个java文件位于src / main / java / com / kurtis / HelloGradle.java: package com.kurtis; public class HelloGradle { public static void main(String[] args) { System.out.println("Hello gradle"); } } 但是,如果我运行gradle构建,我会在build / lib目录中获得一个没有主类设置的jar.它的清单文件没有Main-Class条目.为什么是这样? 解决方法
这是由于应用程序插件的工作方式. mainClassName是应用程序插件使用的属性,当它创建一个可执行jar时,它不需要在清单中有一个Main-Class,因为它不使用它.
如果你需要在你的jar中有一个Main-Class,那么你必须提供它与java插件的vie jar配置,如下所示: jar { manifest { attributes( 'Main-Class': 'com.kurtis.HelloGradle' ) } } 否则,只需使用由应用程序插件生成的可执行文件,无论是通过运行任务还是通过它可以为您创建的分发,使用脚本来运行应用程序及其所有依赖项. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |