我试图用gradle建造一个胖罐,但每次我都会得到一个非常旧的程序版本。直接在IntelliJ中从main运行程序工作正常,因此gradle构建本身无法正常工作。当我检查(项目路径)/ build / libs中的jar时,文件的日期和时间已经改变,所以它确实构建了但是当我启动它时,我得到一个月的构建。我怀疑可能有一些缓存导致这种情况,但我不知道它位于何处。
的build.gradle
version '1.0.2'
apply plugin: 'java'
repositories {
mavenCentral()
}
task fatJar(type: Jar) {
manifest {
attributes 'Implementation-Title': 'Example',
'Implementation-Version': version,
'Main-Class': 'com.example.Main'
}
baseName = project.name
from { configurations.compile.collect { it.isDirectory() ? it : zipTree(it) } }
with jar
}
jar {
manifest {
attributes(
'Main-Class': 'com.example.Main',
)
}
}
dependencies {
compile 'com.intellij:forms_rt:6.0.5'
compile project(':common')
testCompile group: 'junit', name: 'junit', version: '4.11'
sourceCompatibility = 1.7
targetCompatibility = 1.7
}
settings.gradle
rootProject.name = 'example'
include ':common'
project(':common').projectDir = new File(settingsDir, '../common')
命令
./gradlew fatjar
答案 0 :(得分:1)
嗯,我发现了问题,这是一个组合的事情。唯一真正过时的是形式ui。原因是IntelliJ开始使用二进制类文件而不是java源文件。
要修复它,请转到设置然后编辑器和GUI设计器之后。按Java源代码而不是二进制类文件。重新生成设计(可能必须删除生成的代码并再次运行)。然后用gradle构建它,它现在应该可以工作。