gpt4 book ai didi

java - Gradle:如何在编译后但在将文件打包到 Jar 中之前添加自定义任务?

转载 作者:太空狗 更新时间:2023-10-29 22:45:17 25 4
gpt4 key购买 nike

我的 build.gradle 目前是:

project(':rss-middletier') {
apply plugin: 'java'

dependencies {
compile project(':rss-core')
compile 'asm:asm-all:3.2'
compile 'com.sun.jersey:jersey-server:1.9.1'
compile group: 'org.javalite', name: 'activejdbc', version: '1.4.9'
}

jar {
from(configurations.compile.collect { it.isDirectory() ? it : zipTree(it) }) {
exclude "META-INF/*.SF"
exclude "META-INF/*.DSA"
exclude "META-INF/*.RSA"
}
manifest { attributes 'Main-Class':
'com.netflix.recipes.rss.server.MiddleTierServer' }
}
}

但我不想将这些编译后的类直接打包到 jar 中,而是想先通过运行以下任务来检测它们:

task instrument(dependsOn: 'build', type: JavaExec) {
main = 'org.javalite.instrumentation.Main'
classpath = buildscript.configurations.classpath
classpath += project(':rss-middletier').sourceSets.main.runtimeClasspath
jvmArgs '-DoutputDirectory=' + project(':rss-middletier').sourceSets
.main.output.classesDir.getPath()
}

只有在我检测了这些类之后,我才会想将它们打包到一个 JAR 文件中。有没有办法让我可以在包装之前进行这种检测?

非常感谢!!!

最佳答案

终于找到方法了!

task instrument(type: JavaExec) {
//your instrumentation task steps here
}
compileJava.doLast {
tasks.instrument.execute()
}
jar {
//whatever jar actions you need to do
}

希望这可以防止其他人在这个问题上停留几天:)

关于java - Gradle:如何在编译后但在将文件打包到 Jar 中之前添加自定义任务?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24899385/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com