为什么我的jar文件不包含任何类文件? [英] Why does my jar file not not contain any class files?
问题描述
我正在尝试将任务( 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
构建genJar.jar, gradle gen2
构建gen2Jar.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屋!