为什么我的jar文件不包含任何类文件? [英] Why does my jar file not not contain any class files?

查看:81
本文介绍了为什么我的jar文件不包含任何类文件?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试将任务( gen gen2 )添加到我的 build.gradle Jar 任务完全相同:

I'm trying to add a task (gen or gen2) to my build.gradle that does exactly the same as the Jar-task:

version = "0.0.1"
apply plugin: 'java'

task('gen', type: Jar) {
}

task gen2(type: Jar)

正在运行

gradle jar

生成运行时包含 .class 文件的JAR文件

generates a JAR-file that contains .class-files, while running

gradle gen

gradle gen2

生成一个的JAR文件包含任何 .class 文件。

generate a JAR-file that does NOT contain any .class-files.

我的类定义有什么问题?

推荐答案

使用main中的所有类构建一个jar,默认为 jar 任务将执行以下操作:

To build a jar with all the classes from main, as a default jar task would, do this:

task gen2(type: Jar){
    baseName = 'gen2Jar'
    from sourceSets.main.output
}

您也可以执行 from(sourceSets.main.output){include package} 来定制要包含的软件包。

You can also do from(sourceSets.main.output){ include "package" } to customize what packages are included.

或者,从默认的 jar 任务复制设置:

Alternatively, to copy settings from the default jar task:

task gen(type: Jar){
    baseName = 'genJar'
    with jar
}

事实上,您可以两者都位于同一build.gradle 中。运行 gradle jar 构建默认的jar。 gradle gen 构建gen​​Jar.jar, gradle gen2 构建gen​​2Jar.jar,所有这些都包含来自Java的所有类。主要

Infact you can have both of these in the same build.gradle. Running gradle jar builds default jar. gradle gen builds genJar.jar and gradle gen2 builds gen2Jar.jar, all of which contain all the classes from java.main

这篇关于为什么我的jar文件不包含任何类文件?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆